Index Click this button to go to the index for this section.


kill(1)

NAME

kill - Sends a signal to a running process

SYNOPSIS

kill -l [exit_status] kill [-signal_name|signal_number] process_ID... kill -s signal_name process_ID... Note 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.

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows: kill: XPG4, XPG4-UNIX Refer to the standards(5) reference page for more information about industry standards and associated tags.

OPTIONS

The kill command supports the following options: -l 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. -s signal_name 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. -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.

OPERANDS

process_ID A process identification number [DIGITAL] There are several special process identification numbers (PIDs) that you can specify to cause the following special actions: 0 The 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. -1 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 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. -PID 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. exit_status A decimal integer specifying a signal number or the exit status of a process terminated by a signal.

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. [DIGITAL] The name of the kill command is misleading because many signals, including SIGUSR1, do not terminate processes. [DIGITAL] 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. [DIGITAL] 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.

EXIT STATUS

The following exit values are returned: 0 At least one matching process was found, and the specified signal was successfully processed for at least one matching process. >0 An error occurred.

EXAMPLES

1. 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. 2. 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. 3. 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. 4. The following command 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. 5. 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. 6. 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. 7. 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.

ENVIRONMENT VARIABLES

The following environment variables affect the execution of kill: LANG 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 variables contain an invalid setting, the utility behaves as if none of the variables had been defined. LC_ALL If set to a non-empty string value, overrides the values of all the other internationalization variables. LC_CTYPE 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). LC_MESSAGES Determines the locale for the format and contents of diagnostic messages written to standard error. NLSPATH Determines the location of message catalogues for the processing of LC_MESSAGES.

FILES

</usr/include/signal.h> Specifies signal names.

SEE ALSO

Commands: csh(1), killall(8), ksh(1), ps(1), Bourne shell sh(1b), POSIX shell sh(1p) Functions: kill(2), sigaction(2) Standards: standards(5)