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:
-ssignal_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_CORRECTis 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.
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
The kill utility exits 0 on
success, and >0 if an error occurs.
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
IEEE Std 1003.2 (“POSIX.2”)
compatible.
HISTORY
A kill command appeared in
Version 3 AT&T UNIX in section 8 of the
manual. The original BSD description was: ‘terminate a process with
extreme prejudice’.