2006-12-06 17:25:32 -06:00
|
|
|
.\" Copyright 1994 Salvatore Valente (svalente@mit.edu)
|
|
|
|
.\" Copyright 1992 Rickard E. Faith (faith@cs.unc.edu)
|
|
|
|
.\" May be distributed under the GNU General Public License
|
2011-08-18 15:18:34 -05:00
|
|
|
.TH KILL 1 "February 2011" "util-linux" "User Commands"
|
2006-12-06 17:25:32 -06:00
|
|
|
.SH NAME
|
|
|
|
kill \- terminate a process
|
|
|
|
.SH SYNOPSIS
|
2009-07-22 04:29:04 -05:00
|
|
|
.B kill
|
|
|
|
.RB [ \-s
|
|
|
|
.IR signal | \fB\-p\fP ]
|
2011-02-28 10:15:40 -06:00
|
|
|
.RB [ \-q
|
|
|
|
.IR sigval ]
|
2011-03-06 03:02:25 -06:00
|
|
|
.RB [ \-a ]
|
2009-07-22 04:29:04 -05:00
|
|
|
.RB [ \-\- ]
|
|
|
|
.IR pid ...
|
2006-12-06 17:25:32 -06:00
|
|
|
.br
|
2009-07-22 04:29:04 -05:00
|
|
|
.B kill -l
|
|
|
|
.RI [ signal ]
|
2006-12-06 17:25:32 -06:00
|
|
|
.SH DESCRIPTION
|
2006-12-06 17:25:46 -06:00
|
|
|
The command
|
2006-12-06 17:25:32 -06:00
|
|
|
.B kill
|
2006-12-06 17:25:46 -06:00
|
|
|
sends the specified signal to the specified process or process group.
|
|
|
|
If no signal is specified, the TERM signal is sent. The TERM signal
|
|
|
|
will kill processes which do not catch this signal. For other processes,
|
|
|
|
it may be necessary to use the KILL (9) signal, since this signal cannot
|
|
|
|
be caught.
|
|
|
|
.PP
|
|
|
|
Most modern shells have a builtin kill function, with a usage rather similar
|
2011-02-27 09:28:14 -06:00
|
|
|
to that of the command described here. The `-a' and `-p' options,
|
|
|
|
and the possibility to specify processes by command name are a local extension.
|
2008-01-28 08:17:45 -06:00
|
|
|
.PP
|
|
|
|
If sig is 0, then no signal is sent, but error checking is still performed.
|
2006-12-06 17:25:32 -06:00
|
|
|
.SH OPTIONS
|
|
|
|
.TP
|
2006-12-06 17:25:46 -06:00
|
|
|
.IR pid ...
|
2006-12-06 17:25:32 -06:00
|
|
|
Specify the list of processes that
|
|
|
|
.B kill
|
|
|
|
should signal. Each
|
|
|
|
.I pid
|
2006-12-06 17:25:46 -06:00
|
|
|
can be one of five things:
|
|
|
|
|
|
|
|
.RS
|
|
|
|
.TP
|
2006-12-06 17:25:34 -06:00
|
|
|
.I n
|
|
|
|
where
|
|
|
|
.I n
|
|
|
|
is larger than 0. The process with pid
|
|
|
|
.I n
|
|
|
|
will be signaled.
|
2006-12-06 17:25:46 -06:00
|
|
|
.TP
|
|
|
|
.B 0
|
|
|
|
All processes in the current process group are signaled.
|
|
|
|
.TP
|
|
|
|
.B -1
|
|
|
|
All processes with pid larger than 1 will be signaled.
|
|
|
|
.TP
|
|
|
|
.BI - n
|
2009-07-22 04:29:04 -05:00
|
|
|
where
|
|
|
|
.I n
|
2006-12-06 17:25:46 -06:00
|
|
|
is larger than 1.
|
|
|
|
All processes in process group
|
2006-12-06 17:25:34 -06:00
|
|
|
.I n
|
2006-12-06 17:25:46 -06:00
|
|
|
are signaled. When an argument of the form `-n' is given,
|
|
|
|
and it is meant to denote a process group,
|
|
|
|
either the signal must be specified first, or the argument must be preceded
|
|
|
|
by a `--' option, otherwise it will be taken as the signal to send.
|
|
|
|
.TP
|
|
|
|
.I commandname
|
|
|
|
All processes invoked using that name will be signaled.
|
|
|
|
.RE
|
2006-12-06 17:25:32 -06:00
|
|
|
.TP
|
2006-12-06 17:25:46 -06:00
|
|
|
.BI \-s " signal"
|
2006-12-06 17:25:32 -06:00
|
|
|
Specify the signal to send.
|
|
|
|
The signal may be given as a signal name or number.
|
|
|
|
.TP
|
2006-12-06 17:25:46 -06:00
|
|
|
.B \-l
|
2006-12-06 17:25:32 -06:00
|
|
|
Print a list of signal names. These are found in
|
|
|
|
.I /usr/include/linux/signal.h
|
2006-12-06 17:25:46 -06:00
|
|
|
.TP
|
|
|
|
.B \-a
|
|
|
|
Do not restrict the commandname-to-pid conversion to processes
|
|
|
|
with the same uid as the present process.
|
|
|
|
.TP
|
|
|
|
.B \-p
|
|
|
|
Specify that
|
|
|
|
.B kill
|
|
|
|
should only print the process id (pid)
|
|
|
|
of the named processes, and not send any signals.
|
2011-02-28 10:15:40 -06:00
|
|
|
.TP
|
|
|
|
.BI \-q " sigval"
|
|
|
|
Use
|
|
|
|
.BR sigqueue (2)
|
|
|
|
rather than
|
|
|
|
.BR kill (2)
|
|
|
|
and the sigval argument is used to specify an integer to be sent with the
|
|
|
|
signal. If the receiving process has installed a handler for this signal using
|
|
|
|
the SA_SIGINFO flag to
|
|
|
|
.BR sigaction (2),
|
|
|
|
then it can obtain this data via the si_value field of the siginfo_t structure.
|
2013-01-15 04:14:03 -06:00
|
|
|
.SH NOTES
|
|
|
|
It's not possible to send a signal to explicitly selected thread in a
|
|
|
|
multithreaded process by
|
|
|
|
.BR kill (2)
|
|
|
|
syscall. If
|
|
|
|
.BR kill(2)
|
|
|
|
is used to send a signal to a thread group, then
|
|
|
|
kernel selects arbitrary member of the thread group that has not blocked
|
|
|
|
the signal. For more details see
|
|
|
|
.BR clone (2)
|
|
|
|
CLONE_THREAD description.
|
|
|
|
|
|
|
|
The command
|
|
|
|
.BR kill (1)
|
|
|
|
as well as syscall
|
|
|
|
.BR kill (2)
|
|
|
|
accepts TID (thread ID, see
|
|
|
|
.BR gettid (2))
|
|
|
|
as argument. In this case the kill behavior is not changed and the signal is
|
|
|
|
also delivered to the thread group rather than to the specified thread.
|
2006-12-06 17:25:32 -06:00
|
|
|
.SH "SEE ALSO"
|
|
|
|
.BR bash (1),
|
|
|
|
.BR tcsh (1),
|
|
|
|
.BR kill (2),
|
2006-12-06 17:25:46 -06:00
|
|
|
.BR sigvec (2),
|
|
|
|
.BR signal (7)
|
2006-12-06 17:25:32 -06:00
|
|
|
.SH AUTHOR
|
|
|
|
Taken from BSD 4.4. The ability to translate process names to process
|
|
|
|
ids was added by Salvatore Valente <svalente@mit.edu>.
|
2007-07-02 18:17:04 -05:00
|
|
|
.SH AVAILABILITY
|
2010-11-30 04:41:59 -06:00
|
|
|
The kill command is part of the util-linux package and is available from
|
|
|
|
ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
|