KILL(1)

NAME
kill - terminate or signal a process

SYNOPSIS
kill [-s signal_name] pid ...
kill -l [exit_status]
kill -signal_name pid ...
kill -signal_number pid ...

DESCRIPTION
The kill utility sends a signal to the process(es) specified by the pid operand(s).

Only the super-user may send signals to other users' processes.

The options are as follows:

-s signal_name
    A symbolic signal name specifying the signal to be sent instead of the default TERM.

-l [exit_status]
    Display the name of the signal corresponding to exit_status. exit_status may be the exit status of a command killed by a signal (see the special sh(1) parameter ‘’?) or a signal number.

    If no operand is given, display the names of all the signals. In /bin/kill, if the variable POSIXLY_CORRECT is set in the environment, this uses the POSIX specified format, otherwise a slightly more pleasing layout is used.

-signal_name
    A symbolic signal name specifying the signal to be sent instead of the default TERM.

-signal_number
    A non-negative decimal integer, specifying the signal to be sent instead of the default TERM.

The following pids have special meanings:
-1  If superuser, broadcast the signal to all processes; otherwise broadcast to all processes belonging to the user.
0   Broadcast the signal to all processes in the current process group belonging to the user.
Any other negative pid is interpreted as the negative of a process group identifier, and the signal is sent to all members of that group.

Note that while not required by this implementation, if the first pid operand is negative, it should be preceded by the “--” end of options indicator, to avoid the pid being treated as yet more options. That is always required if no specific signal is specified and the first pid is negative, or that pid would be treated as the signal_number.

Some of the more commonly used signals:
0   0 (does not affect the process; can be used to test whether the process exists)
1   HUP (hang up)
2   INT (interrupt)
3   QUIT (quit)
6   ABRT (abort)
9   KILL (non-catchable, non-ignorable kill)
14  ALRM (alarm clock)
15  TERM (software termination signal)
17  STOP (non-catchable, non-ignorable, causes process to temporarily stop, after which it can later be resumed using SIGCONT)
19  CONT (stopped processes resume execution)

kill is a built-in to most shells, including sh(1) and csh(1); it allows job specifiers of the form ``%...'' as arguments so process id's are not as often used as kill arguments. See csh(1), sh(1) or the man page for the shell in use for details.

DIAGNOSTICS

SEE ALSO
csh(1), pgrep(1), pkill(1), ps(1), sh(1), kill(2), sigaction(2), signal(7)

STANDARDS
The kill utility is expected to be p1003.2 compatible.

HISTORY
A kill command appeared in AT&T UNIX in section 8 of the manual. The original BSD description was: ‘terminate a process with extreme prejudice’.