.\" $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 .