NetBSD/bin/kill/kill.1

197 lines
5.0 KiB
Groff

.\" $NetBSD: kill.1,v 1.35 2022/08/07 09:36:55 andvar Exp $
.\"
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)kill.1 8.2 (Berkeley) 4/28/95
.\"
.Dd August 15, 2021
.Dt KILL 1
.Os
.Sh NAME
.Nm kill
.Nd terminate or signal a process
.Sh SYNOPSIS
.Nm
.Op Fl s Ar signal_name
.Ar pid
\&...
.Nm
.Fl l
.Op Ar exit_status
.Nm
.Fl signal_name
.Ar pid
\&...
.Nm
.Fl signal_number
.Ar pid
\&...
.Sh DESCRIPTION
The
.Nm
utility sends a signal to the process(es) specified
by the pid operand(s).
.Pp
Only the super-user may send signals to other users' processes.
.Pp
The options are as follows:
.Bl -tag -width Ds
.It Fl s Ar signal_name
A symbolic signal name specifying the signal to be sent instead of the
default
.Dv TERM .
.It Fl l Op Ar exit_status
Display the name of the signal corresponding to
.Ar exit_status .
.Ar exit_status
may be the exit status of a command killed by a signal
(see the
special
.Xr sh 1
parameter
.Sq ?\& )
or a signal number.
.Pp
If no operand is given, display the names of all the signals.
In
.Pa /bin/kill ,
if the variable
.Ev POSIXLY_CORRECT
is set in the environment, this uses the POSIX specified format,
otherwise a slightly more pleasing layout is used.
.It Fl signal_name
A symbolic signal name specifying the signal to be sent instead of the
default
.Dv TERM .
.It Fl signal_number
A non-negative decimal integer, specifying the signal to be sent instead
of the default
.Dv TERM .
.El
.Pp
The following
.Ar pid Ns s
have special meanings:
.Bl -tag -width Ds -compact
.It -1
If superuser, broadcast the signal to all processes; otherwise broadcast
to all processes belonging to the user.
.It 0
Broadcast the signal to all processes in the current process group
belonging to the user.
.El
Any other negative
.Ar pid
is interpreted as the negative of a process group identifier,
and the signal is sent to all members of that group.
.Pp
Note that while not required by this implementation,
if the first
.Ar pid
operand is negative, it should be preceded by the
.Dq \&--
end of options indicator, to avoid the
.Ar pid
being treated as yet more options.
That is always required if no specific signal is specified
and the first
.Ar pid
is negative, or that pid would be treated as the
.Ar signal_number .
.Pp
Some of the more commonly used signals:
.Bl -tag -width Ds -compact
.It 0
0 (does not affect the process; can be used to test whether the
process exists)
.It 1
HUP (hang up)
.It 2
INT (interrupt)
.It 3
QUIT (quit)
.It 6
ABRT (abort)
.It 9
KILL (non-catchable, non-ignorable kill)
.It 14
ALRM (alarm clock)
.It 15
TERM (software termination signal)
.It 17
STOP (non-catchable, non-ignorable, causes process to temporarily stop,
after which it can later be resumed using
.Dv SIGCONT )
.It 19
CONT (stopped processes resume execution)
.El
.Pp
.Nm
is a built-in to most shells,
including
.Xr sh 1
and
.Xr csh 1 ;
it allows job specifiers of the form ``%...'' as arguments
so process id's are not as often used as
.Nm
arguments.
See
.Xr csh 1 ,
.Xr sh 1
or the man page for the shell in use
for details.
.Sh DIAGNOSTICS
.Ex -std
.Sh SEE ALSO
.Xr csh 1 ,
.Xr pgrep 1 ,
.Xr pkill 1 ,
.Xr ps 1 ,
.Xr sh 1 ,
.Xr kill 2 ,
.Xr sigaction 2 ,
.Xr signal 7
.Sh STANDARDS
The
.Nm
utility is expected to be
.St -p1003.2
compatible.
.Sh HISTORY
A
.Nm
command appeared in
.At v3
in section 8 of the manual.
The original BSD description was:
.Sq terminate a process with extreme prejudice .