Updated: April 19, 2023

Terminate or signal processes (POSIX)


kill [-a] [-n node] [-signal_name | -signal_number] pid...

kill -l

Runs on:

QNX Neutrino


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.
A nonnegative decimal integer representing the signal to be sent to the specified process.
(QNX Neutrino extension) Interpret the pid argument as the ID of the application to be signalled.
(“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.
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.

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).


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
  • 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.


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:

At least one matching process was found for each pid option, and the specified signal was successfully sent to each matching process.
An error occurred.


Some shells include a builtin kill command. To make sure you're using the kill utility, specify the full path to it.