kill(1) General Commands Manual kill(1)
kill - Sends a signal to a running process
kill -l [exit_status]
kill [-signal_name | signal_number] process_ID...
kill -s signal_name process_ID...
The C shell has a built-in version of the kill command. If you are using the C shell, and want to guarantee that you are using the command
described here, you must specify the full path /usr/bin/kill. See the csh(1) reference page for a description of the built-in command.
Interfaces documented on this reference page conform to industry standards as follows:
Refer to the standards(5) reference page for more information about industry standards and associated tags.
The kill command supports the following options: Lists signal names.
If you specify an exit status (a numeric value) or the shell special parameter $?, which expands to the exit status of the most
recent pipeline, kill prints the name of the terminating signal. Specifies the signal to send, using one of the symbolic names
defined for required signals or job control signals. Values of signal_name are recognized in both uppercase or lowercase letters,
and without the SIG prefix. The symbolic name 0 (zero), which represents the value 0 (zero), is also recognized. The corresponding
signal is sent instead of SIGTERM. 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.
A process identification number
[Tru64 UNIX] There are several special process identification numbers (PIDs) that you can specify to cause the following special
actions: The signal is sent to all processes having a process group ID equal to the process group ID of the sender, except those
with a process ID of 0 (zero) and the process ID of the init process. If 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 a process ID
of 0 (zero) and the process ID of the init process.
If the effective user ID of the sender is 0 (root), the signal is sent to all processes, except the process ID of 0 (zero) and the
process ID of the init process. The 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. A
decimal integer specifying a signal number or the exit status of a process terminated by a signal.
The kill command sends a signal to one or more running processes. The default is the SIGTERM signal (signal number 15), which usually ter-
minates 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.
[Tru64 UNIX] The name of the kill command is misleading because many signals, including SIGUSR1, do not terminate processes.
[Tru64 UNIX] Unless you are operating with superuser privileges, the process you wish to signal must belong to you. When operating with
superuser authority, you can signal any process.
[Tru64 UNIX] 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.
Some applications and scripts depend on the process ID of the init program being 1 (one): do not depend on it. Instead, use standard
methods, such as the ps and grep commands, to obtain all process IDs.
The following exit values are returned: At least one matching process was found, and the specified signal was successfully processed for at
least one matching process. An error occurred.
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 com-
mand 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 com-
mand terminates all of your processes and logs you 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 mul-
tiple windows, this command closes all the windows. The following command sends a specific signal to a specific process: kill -USR1
This command sends the SIGUSR1 signal to process 1103. The action taken on the SIGUSR1 signal is defined by the particular applica-
tion you are running. The following command lists the signal names in numerical order, stripped of the SIG prefix: kill -l
1) HUP 13) PIPE 25) XFSZ 37) RTMIN+4
2) INT 14) ALRM 26) VTALRM 38) RTMIN+5
3) QUIT 15) TERM 27) PROF 39) RTMIN+6
4) ILL 16) URG 28) WINCH 40) RTMIN+7
5) TRAP 17) STOP 29) PWR 41) RTMAX-7
6) LOST 18) TSTP 30) USR1 42) RTMAX-6
7) EMT 19) CONT 31) USR2 43) RTMAX-5
8) FPE 20) CHLD 32) RESV 44) RTMAX-4
9) KILL 21) TTIN 33) RTMIN 45) RTMAX-3 10) BUS 22) TTOU 34) RTMIN+1 46) RTMAX-2
11) SEGV 23) POLL 35) RTMIN+2 47) RTMAX-1 12) SYS 24) XCPU 36) RTMIN+3 48) RTMAX
The command output can vary from system to system.
The following environment variables affect the execution of kill: Provides a default value for the internationalization variables that are
unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari-
ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value,
overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes
of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for-
mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of
Specifies signal names.
Commands: csh(1), killall(8), ksh(1), ps(1), Bourne shell sh(1b), POSIX shell sh(1p)
Functions: kill(2), sigaction(2)