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.
\-
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.
The
kill
utility exists as a built-in to most shells;
they allow job specifiers of the form
%...
as arguments,
so process IDs are not as often used as
kill
arguments.
EXAMPLES
Forcibly terminate process ID 1234:
$ kill -9 1234
Send the
inetd(8)
daemon the hangup signal, instructing it to re-read its configuration from
/etc/inetd.conf:
# kill -HUP `cat /var/run/inetd.pid`