Linux Command Directory
This directory of Linux commands is from Linux in a Nutshell, 5th Edition.
Click on any of the 687 commands below to get a description and list of available options. All links in the command summaries point to the online version of the book on Safari Bookshelf.
kill [options] [pids | commands]
Send a signal to terminate one or more process IDs. You must own the process or be a privileged user. If no signal is specified, TERM is sent.
This entry describes the /bin/kill command, which offers several powerful features. There are also built-in shell commands of the same name; the bash and ksh versions are described in Chapter 6.
In particular, /bin/kill allows you to specify a command name, such as gcc or xpdf, instead of a process ID (PID). All processes running that command with the same UID as the process issuing /bin/kill will be sent the signal.
If /bin/kill is issued with a pid of 0, it sends the signal to all processes of its own process group. If /bin/kill is issued with a pid of -1, it sends the signal to all processes except process 1 (the system's init process).
Kill all processes of the given name (if privileges allow), not just processes with the same UID. To use this option, specify the full path (e.g., /bin/kill -a gcc).
List all signals.
Print the process ID of the named process, but don't send it a signal. To use this option, specify the full path (e.g., /bin/kill -p).
The signal number (from /usr/include/sys/signal.h) or name (from kill -l). With a signal number of 9 (KILL), the kill cannot be caught by the process; use this to kill a process that a plain kill doesn't terminate. The default is TERM. The letter flag itself is optional: both kill -9 1024 and kill -s 9 1024 terminate process 1024.