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). If no
signal is specified, SIGTERM
is used.
Only the superuser may send signals to other users' processes.
The options are as follows:
-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.
-s
signal_name- A symbolic signal name specifying the signal to be sent instead of the
default
SIGTERM
. -
signal_name- A symbolic signal name specifying the signal to be sent instead of the
default
SIGTERM
. -
signal_number- A non-negative decimal integer specifying the signal to be sent instead of
the default
SIGTERM
.
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
- Send the signal to all processes whose group ID is equal to the process group ID of the sender, and for which the process has permission.
- -pgid
- Send the signal to all processes within the specified process group.
Some of the more commonly used signals:
- 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)
For a more complete list, consult the sigaction(2) manual page.
A signal number of 0 (kill -0 pid
) checks
the validity of a certain PID, to see if it exists. An exit code of 0 means
that the specified process exists.
EXIT STATUS
The kill
utility exits 0 on
success, and >0 if an error occurs.
EXAMPLES
Forcibly terminate process ID 1234:
$ kill -9 1234
Send the init(8) process the hangup signal, instructing it to re-read ttys(5):
# kill -HUP 1
SEE ALSO
STANDARDS
The kill
utility is compliant with the
IEEE Std 1003.1-2008 (“POSIX.1”)
specification.
The -
signal_name and
-
signal_number syntax is
marked by IEEE Std 1003.1-2008
(“POSIX.1”) as being an X/Open System Interfaces
option.
kill
also exists as a built-in to
csh(1) and ksh(1), though with a different syntax.
HISTORY
A kill
command appeared in
Version 3 AT&T UNIX in section 8 of the
manual.