167 lines
4.1 KiB
Groff
167 lines
4.1 KiB
Groff
.\" 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
|
|
.TH KILL 1 "March 2013" "util-linux" "User Commands"
|
|
.SH NAME
|
|
kill \- terminate a process
|
|
.SH SYNOPSIS
|
|
.B kill
|
|
.RB [ \-s
|
|
.IR signal | \fB\-p\fP ]
|
|
.RB [ \-q
|
|
.IR sigval ]
|
|
.RB [ \-a ]
|
|
.RB [ \-\- ]
|
|
.IR pid|name ...
|
|
.br
|
|
.B kill -l
|
|
.RI [ signal ]
|
|
.SH DESCRIPTION
|
|
The command
|
|
.B kill
|
|
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 to
|
|
that of the command described here. The \-\-all, \-\-pid, and \-\-queue options,
|
|
and the possibility to specify processes by command name are a local extension.
|
|
.PP
|
|
If sig is 0, then no signal is sent, but error checking is still performed.
|
|
.SH OPTIONS
|
|
.TP
|
|
.IR pid ...
|
|
Specify the list of processes that
|
|
.B kill
|
|
should signal. Each
|
|
.I pid
|
|
can be one of four things:
|
|
.RS
|
|
.TP
|
|
.I n
|
|
where
|
|
.I n
|
|
is larger than 0. The process with pid
|
|
.I n
|
|
will be signaled.
|
|
.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
|
|
where
|
|
.I n
|
|
is larger than 1. All processes in process group
|
|
.I n
|
|
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.
|
|
.RE
|
|
.TP
|
|
.I name
|
|
All processes invoked using that name will be signaled.
|
|
.TP
|
|
\fB\-s\fR, \fB\-\-signal\fR \fIsignal\fR
|
|
Specify the signal to send. The signal may be given as a signal name or
|
|
number.
|
|
.TP
|
|
\fB\-l\fR, \fB\-\-list\fR [\fIsignal\fR]
|
|
Print a list of signal names, or convert signal given as argument to a name.
|
|
The signals are found in
|
|
.I /usr/\:include/\:linux/\:signal.h
|
|
.TP
|
|
\fB\-L\fR, \fB\-\-table\fR
|
|
Similar to \-l, but will print signal names and their corresponding
|
|
numbers.
|
|
.TP
|
|
\fB\-a\fR, \fB\-\-all\fR
|
|
Do not restrict the commandname-to-pid conversion to processes with the same
|
|
uid as the present process.
|
|
.TP
|
|
\fB\-p\fR, \fB\-\-pid\fR
|
|
Specify that
|
|
.B kill
|
|
should only print the process id (pid) of the named processes, and not send any
|
|
signals.
|
|
.IP
|
|
The \-\-pid option functionality is also enabled when the command
|
|
copied or linked to name
|
|
.BR pid .
|
|
This functionality is deprecated, and will not be removed in March 2016.
|
|
.TP
|
|
\fB\-q\fR, \fB\-\-queue\fR \fIsigval\fR
|
|
Use
|
|
.BR sigqueue (2)
|
|
rather than
|
|
.BR kill (2)
|
|
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
|
|
.BR sigaction (2),
|
|
then it can obtain this data via the si_value field of the siginfo_t structure.
|
|
.SH NOTES
|
|
It is 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.
|
|
.PP
|
|
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.
|
|
|
|
.SH RETURN CODES
|
|
.B kill
|
|
has the following return codes:
|
|
.TP
|
|
.BR 0
|
|
success
|
|
.TP
|
|
.BR 1
|
|
failure
|
|
.TP
|
|
.BR 64
|
|
partial success (when more than one process specified)
|
|
|
|
.SH SEE ALSO
|
|
.BR bash (1),
|
|
.BR tcsh (1),
|
|
.BR kill (2),
|
|
.BR sigvec (2),
|
|
.BR signal (7)
|
|
|
|
.SH AUTHORS
|
|
.MT svalente@mit.edu
|
|
Salvatore Valente
|
|
.ME
|
|
.br
|
|
.MT kzak@redhat.com
|
|
Karel Zak
|
|
.ME
|
|
.br
|
|
.PP
|
|
The original version was taken from BSD 4.4.
|
|
|
|
.SH AVAILABILITY
|
|
The kill command is part of the util-linux package and is available from
|
|
.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
|
|
Linux Kernel Archive
|
|
.UE .
|