.SH SYNOPSIS
.B kill
.RB [ \- \fIsignal\fR| \-s
-.IR signal | \fB-p\fP ]
+.IR signal | \fB\-p\fP ]
.RB [ \-q
.IR value ]
.RB [ \-a ]
.B 0
All processes in the current process group are signaled.
.TP
-.B -1
+.B \-1
All processes with a PID larger than 1 are signaled.
.TP
-.BI - n
+.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
+are signaled. When an argument of the form '\-n' is given, and it is meant to
denote a process group, either a signal must be specified first, or the
-argument must be preceded by a '--' option, otherwise it will be taken as the
+argument must be preceded by a '\-\-' option, otherwise it will be taken as the
signal to send.
.RE
.TP
.I milliseconds
before sending follow-up
.I signal
-to process. When timeout is speficified multiple times to a list of
-timeouts and signals that are sent sequentially. The
+to process.
+This feature is implemented by PID file-descriptor and guaranties that
+follow-up signals are sent to the same process or not sent if the process no
+more exist. Note that the operating system may re-use PIDs and implement the
+same feature in a shell by kill and sleep commands sequence may introduce a
+race. This option can be specified more than once than signals are sent
+sequentially in defined timeouts. The
.B \-\-timeout
option can be combined with
.B \-\-queue
option.
.IP
-Example. Send signal that does nothing twice, and terminate cat(1).
+Example. Send signals QUIT, TERM and KILL in sequence and wait for 1000
+milliseconds between the signals
.br
-kill --timeout 1000 0 --timeout 1000 TERM --verbose -s 0 cat
+kill \-\-verbose \-\-timeout 1000 TERM \-\-timeout 1000 KILL \-\-signal QUIT 12345
+.SH EXIT STATUS
+.B kill
+has the following exit status values:
+.PP
+.RS
+.PD 0
+.TP
+.B 0
+success
+.TP
+.B 1
+failure
+.TP
+.B 64
+partial success (when more than one process specified)
+.PD
+.RE
.SH NOTES
Although it is possible to specify the TID (thread ID, see
.BR gettid (2))
.B CLONE_THREAD
in
.BR clone (2).
-
-.SH RETURN CODES
-.B kill
-has the following return codes:
-.TP
-.B 0
-success
-.TP
-.B 1
-failure
-.TP
-.B 64
-partial success (when more than one process specified)
-
-.SH SEE ALSO
-.BR bash (1),
-.BR tcsh (1),
-.BR sigaction (2),
-.BR kill (2),
-.BR sigqueue (3),
-.BR signal (7)
-
+.P
+Various shells have provide an internal kill implementation that is
+preferred in relation to the
+.BR kill (1)
+executable described by this manual. Easiest way to ensure one is executing
+the executable is to use full path when calling the command, for example:
+.B "/bin/kill \-\-version"
.SH AUTHORS
.MT svalente@mit.edu
Salvatore Valente
.PP
The original version was taken from BSD 4.4.
+.SH SEE ALSO
+.BR bash (1),
+.BR tcsh (1),
+.BR sigaction (2),
+.BR kill (2),
+.BR sigqueue (3),
+.BR signal (7)
+
.SH AVAILABILITY
The kill command is part of the util-linux package and is available from
.UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/