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
|
2013-03-07 17:05:48 -06:00
|
|
|
.TH KILL 1 "March 2013" "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
|
2013-03-07 17:05:48 -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.
|
2006-12-06 17:25:46 -06:00
|
|
|
.PP
|
2013-03-07 17:05:48 -06:00
|
|
|
Most modern shells have a builtin kill function, with a usage rather similar 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
|
2013-03-07 17:05:48 -06:00
|
|
|
is larger than 1. All processes in process group
|
2006-12-06 17:25:34 -06:00
|
|
|
.I n
|
2013-03-07 17:05:48 -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.
|
2006-12-06 17:25:46 -06:00
|
|
|
.TP
|
|
|
|
.I commandname
|
|
|
|
All processes invoked using that name will be signaled.
|
|
|
|
.RE
|
2006-12-06 17:25:32 -06:00
|
|
|
.TP
|
2013-03-07 17:05:48 -06:00
|
|
|
\fB\-s\fR, \fB\-\-signal\fR \fIsignal\fR
|
|
|
|
Specify the signal to send. The signal may be given as a signal name or
|
|
|
|
number.
|
2006-12-06 17:25:32 -06:00
|
|
|
.TP
|
2013-03-07 17:05:48 -06:00
|
|
|
\fB\-l\fR, \fB\-\-list\fR [\fIsignal\fR]
|
2006-12-06 17:25:32 -06:00
|
|
|
Print a list of signal names. These are found in
|
2013-03-07 17:05:48 -06:00
|
|
|
.I /usr/\:include/\:linux/\:signal.h
|
2006-12-06 17:25:46 -06:00
|
|
|
.TP
|
2013-03-07 17:05:48 -06:00
|
|
|
\fB\-a\fR, \fB\-\-all\fR
|
|
|
|
Do not restrict the commandname-to-pid conversion to processes with the same
|
|
|
|
uid as the present process.
|
2006-12-06 17:25:46 -06:00
|
|
|
.TP
|
2013-03-07 17:05:48 -06:00
|
|
|
\fB\-p\fR, \fB\-\-pid\fR
|
2006-12-06 17:25:46 -06:00
|
|
|
Specify that
|
|
|
|
.B kill
|
2013-03-07 17:05:48 -06:00
|
|
|
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
|
2013-03-07 17:05:48 -06:00
|
|
|
\fB\-q\fR, \fB\-\-queue\fR \fIsigval\fR
|
2011-02-28 10:15:40 -06:00
|
|
|
Use
|
|
|
|
.BR sigqueue (2)
|
|
|
|
rather than
|
|
|
|
.BR kill (2)
|
2013-03-07 17:05:48 -06:00
|
|
|
and the
|
|
|
|
.I 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
|
2011-02-28 10:15:40 -06:00
|
|
|
.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
|
2013-03-07 17:05:48 -06:00
|
|
|
It is not possible to send a signal to explicitly selected thread in a
|
2013-01-15 04:14:03 -06:00
|
|
|
multithreaded process by
|
|
|
|
.BR kill (2)
|
2013-03-07 17:05:48 -06:00
|
|
|
syscall. If
|
2013-01-15 04:14:03 -06:00
|
|
|
.BR kill(2)
|
2013-03-07 17:05:48 -06:00
|
|
|
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
|
2013-01-15 04:14:03 -06:00
|
|
|
.BR clone (2)
|
|
|
|
CLONE_THREAD description.
|
2013-03-07 17:05:48 -06:00
|
|
|
.PP
|
2013-01-15 04:14:03 -06:00
|
|
|
The command
|
|
|
|
.BR kill (1)
|
|
|
|
as well as syscall
|
|
|
|
.BR kill (2)
|
|
|
|
accepts TID (thread ID, see
|
|
|
|
.BR gettid (2))
|
2013-03-07 17:05:48 -06:00
|
|
|
as argument. In this case the kill behavior is not changed and the signal is
|
2013-01-15 04:14:03 -06:00
|
|
|
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
|
2013-03-07 17:05:48 -06:00
|
|
|
Taken from BSD 4.4. The ability to translate process names to process ids was
|
|
|
|
added by
|
|
|
|
.MT svalente@mit.edu
|
|
|
|
Salvatore Valente
|
|
|
|
.ME .
|
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
|
2013-03-07 17:05:48 -06:00
|
|
|
.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
|
|
|
|
Linux Kernel Archive
|
|
|
|
.UE .
|