kill(1) — Commands
NAME
kill − Sends a signal to a running process
SYNOPSIS
kill −l
kill [−signal_name | −signal_number] process_ID ...
DESCRIPTION
The kill command sends a signal to one or more running processes. The default is the SIGTERM signal (signal number 15), which usually terminates processes that do not ignore or catch the signal.
You identify the process to be signaled by specifying its process identification number (also known as the process ID or PID). The shell displays the PID of each process that is running in the background or, if you start more than one process in a pipeline, the shell displays the number of the last process). You can also use the ps command to display PIDs.
The name of the kill command is misleading because many signals, including SIGUSR1, do not terminate processes.
Unless you are operating with superuser authority, the process you wish to signal must belong to you. When operating with superuser authority, you can signal any process.
See the kill() system call for a complete discussion of kill. Note that the csh command contains a built-in subcommand named kill, but the command and subcommand do not necessarily work in the same way. For information on the subcommand, see csh.
Special Process Identification Numbers
There are several special process identification numbers (PIDs) that you can specify to cause the following special actions:
0The signal is sent to all processes having a process group ID equal to the process group ID of the sender, except those with PIDs 0 and 1.
−1If the effective user ID of the sender is not 0 (root), the signal is sent to all processes with a process group ID equal to the effective user ID of the sender, except those with PIDs 0 and 1. If the effective user ID of the sender is 0 (root), the signal is sent to all processes, excluding numbers 0 and 1.
−PIDThe signal is sent to all processes whose process group number is equal to the absolute value of PID. Note that when you specify any negative PID, you must also specify the signal to be sent, even the default signal SIGTERM.
FLAGS
The kill command supports the following flags:
−lLists signal names.
−signal_name | −signal_number
Specifies the signal to send to the process. You can specify either a name, stripped of the SIG prefix (such as KILL), or a number (such as 9). For information about signal names and numbers, see the sigaction() system call.
EXAMPLES
The following command terminates the process with the specified PID:
kill 1095
This command terminates process 1095 by sending it the default SIGTERM signal. Note that process 1095 might not actually terminate if it has made special arrangements to ignore or catch the SIGTERM signal.
The following command terminates several processes that ignore the default signal:
kill −KILL 17285 15692
This command sends SIGKILL to processes 17285 and 15692. The SIGKILL signal usually cannot be ignored or caught.
The following command terminates all of your background processes:
kill 0
This command sends the SIGTERM signal to all members of the shell process group. This includes all background processes started with &. Although the signal is sent to the shell, it has no effect because the shell ignores the default signal 15.
The following command terminates all of your processes and logs yourself out:
kill −KILL 0
This command sends SIGKILL to all members of the shell process group. Because the shell cannot ignore SIGKILL, this also terminates the login shell and logs you out. If you are using multiple windows, this closes the active window.
The following command terminate all the processes that you own:
kill −KILL −1
This command sends SIGKILL to all the processes that you own, even those that belong to other process groups. If you are using multiple windows, this command closes all the windows.
The following command sends a specific signal to a specific process:
kill −USR1 1103
This command sends the SIGUSR1 signal to process 1103. The action taken on the SIGUSR1 signal is defined by the particular application you are running.
The following command lists the signal names in numerical order, stripped of the SIG prefix:
kill −l
HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE
ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ
VTALRM PROF WINCH INFO USR1 USR2
The command output can vary from system to system.
FILES
/usr/include/signal.hSpecifies signal names.
RELATED INFORMATION
Commands: csh(1), killall(8), ksh(1), ps(1), sh(1).
Functions: kill(2), sigaction(2).