kill —
terminate or signal a
process
kill |
[-s signal_name]
pid ... |
kill |
-signal_name
pid ... |
kill |
-signal_number
pid ... |
The kill utility sends a signal to the
processes specified by the pid operands.
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]
- If no operand is given, list the signal names; otherwise, write the signal
name corresponding to exit_status.
-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:
- 0
- The signal is sent to all processes whose group ID is equal to the process
group ID of the sender, and for which the process has permission.
- -1
- If superuser, broadcast the signal to all processes; otherwise broadcast
to all processes belonging to the user.
- -PGID
- The signal is sent to all processes that belong to the specified process
group ID (PGID).
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)
Some shells may provide a builtin kill
command which is similar or identical to this utility. Consult the
builtin(1) manual page.
The kill utility exits 0 on
success, and >0 if an error occurs.
Terminate the processes with PIDs 142 and 157:
kill 142 157
Send the hangup signal (SIGHUP) to the
process with PID 507:
kill -s HUP 507
Terminate the process group with PGID 117:
kill -- -117
The kill utility is expected to be
IEEE Std 1003.2 (“POSIX.2”)
compatible.
A kill command appeared in
Version 3 AT&T UNIX in section 8 of the
manual.
A replacement for the command “kill
0” for
csh(1) users should be provided.