Terminate or signal processes (POSIX)
Syntax:
kill [-a] [-n node] [-signal_name | -signal_number] pid...
kill -l
Options:
- -signal_name
- The name of the signal to be sent to the specified process.
Values of signal_name are recognized in case-independent
fashion, with or without the SIG prefix.
- -signal_number
- A nonnegative decimal integer representing the signal to be sent to the specified process.
- -a
- (QNX Neutrino extension)
Interpret the pid argument as the ID of the application to be signalled.
- -l
- (el) Don't send signals. List possible values for signal_name.
- -n node
- (QNX Neutrino extension)
Kill the process on the specified node.
This option isn't available in the shell builtin version of kill.
- pid
- A decimal integer specifying a process or process group to be signaled.
A positive number pid is a process ID.
A negative number pid has its absolute value taken as a process group ID.
The signal is sent to all processes belonging to the group.
A pid of zero sends the signal to all
processes owned by the user in the current shell's process group.
CAUTION:
Don't use a pid of zero when logged on as root.
Signalling all the background processes owned by the superuser and any current
superuser foreground processes (e.g., backups in progress) may produce unpredictable results.
If you specify the -a, kill signals
all the processes whose application ID matches this argument (which must be positive).
Description:
The kill utility sends a signal to the process(es) specified
by each pid operand. By default, kill
sends the SIGTERM signal, but you may override this default by
naming a signal to be sent.
To print the list of signals that may be sent, use kill with the -l option:
kill -l
Note:
-
The kill command is available both as a standalone utility and as a shell builtin.
To make sure that you're using the utility, specify the full path.
For information about the builtin command, see
esh
and
ksh.
- The cleanup of the terminated process occurs at the priority of the thread that sent the signal.
Examples:
Any of the commands:
kill -9 100 -16
kill -sigkill 100 -16
kill -KILL 100 -16
sends the SIGKILL signal to the process whose process ID
is 100 and to all processes whose process group ID is 16, assuming
the sending process has permission to send that signal to the specified
processes, and that they exist.
Exit status:
- 0
- At least one matching process was found for each pid option, and the specified signal was
successfully sent to each matching process.
- >0
- An error occurred.
Caveats:
Some shells include a builtin kill command.
To make sure you're using the kill utility, specify the full path to it.