Quiz Entry - updated: 2026.07.14
How do you send signals to processes with kill, killall, and pkill?
kill targets by PID, killall by exact process name, pkill by name pattern or attribute (user, terminal) — all send SIGTERM by default.
Despite the scary name, kill doesn't only kill — it sends a signal, and SIGTERM (terminate) is merely its default. The three commands differ only in how they pick the targets:
| Command | Targets by | Example |
|---|---|---|
kill |
exact PID(s) | kill 1234 |
killall |
exact process name | killall firefox |
pkill |
name pattern / attribute | pkill -u user |
kill command:
kill PID # Send SIGTERM (15)
kill -9 PID # Send SIGKILL (force)
kill -l # List all signals
kill -HUP PID # Send SIGHUP (reload config)
killall command:
killall firefox # Kill all firefox processes
killall -9 firefox # Force kill all
pkill command (more flexible):
pkill firefox # Kill by name pattern
pkill -u john # Kill all processes by user
pkill -t pts/1 # Kill processes on terminal
pkill -9 -u john # Force kill user's processes
Warning: Always try SIGTERM first, SIGKILL only as last resort (allows no cleanup)!