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 version is described in Chapter 7 and the tcsh version in Chapter 8.
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.