HardenedBSD/usr.bin/killall/killall.1
Joerg Wunsch 1fc7066757 Our Perl oracle hit again: Wolfram Schneider's killall utility.
Kills processes by name instead of by UID.

(Man page by me.)

Submitted by:	wosch@cs.tu-berlin.de (Wolfram Schneider)
1995-06-25 18:08:27 +00:00

131 lines
4.0 KiB
Groff

.\" Copyright (C) 1995 by Joerg Wunsch, Dresden
.\" All rights reserved.
.\"
.\" 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.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``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 AUTHOR(S) 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.
.\"
.\" $Id$
.\"
.Dd June 25, 1995
.Os FreeBSD 2.2
.Dt KILLALL 1
.Sh NAME
.Nm killall
.Nd kill processes by name
.Sh SYNOPSIS
.Nm killall
.Op Fl d \&| Ns Fl v
.Op Fl h \&| Ns Fl \&?
.Op Fl help
.Op Fl l
.Op Fl m
.Op Fl s
.Op Fl SIGNAL
.Ar procname
.Sh DESCRIPTION
.Nm Killall
kills processes selected by name, as opposed to the selection by pid
as done by
.Xr kill 1 .
By default, it will send a
.Dv TERM
signal to all processes with an effective UID identical to the
caller of
.Nm
that match the name
.Ar procname .
The super-user is allowed to kill any process.
.Pp
The options are as follows:
.Bl -tag -width 10n -offset indent
.It Fl d \&| Ns Fl v
Be more verbose about what will be done. For a single
.Fl d
option, a list of the processes that will be sent the signal will be
printed, or a message indicating that no matching processes have been
found. If the option
.Fl d
has been specified at least twice, the effective UID, PID, and name
of all processes found in
.Xr procfs 5
will be listed in addition.
.It Fl h \&| Ns Fl \&?
.It Fl help
Give a help on the command usage and exit.
.It Fl l
List the names of the available signals and exit, like in
.Xr kill 1 .
.It Fl m
Match the argument
.Ar procname
as a (case insensitive) regular expression against the names
of processes found in
.Xr procfs 5 .
CAUTION! This is dangerous, a single dot will match any process
running under the effective UID of the caller. The regular expression
syntax in effect is that used by
.Xr perl 1 .
.It Fl s
Show only what would be done, but do net send any signal.
.It Fl SIGNAL
Send a different signal instead of the default
.Dv TERM .
The signal may be specified either as a name
.Pq with \&or without a leading Dv SIG ,
or numerically.
.El
.Sh DIAGNOSTICS
The
.Nm
command will respond with a short usage message and exit with a status
of 2 in case of a command error. A status of 1 will be returned if
either no matching process has been found or not all processes have
been signalled succesfully. Otherwise, a status of 0 will be
returned.
.Pp
Diagnostic messages will only be printed if requested by
.Fl d
options.
.Sh SEE ALSO
.Xr kill 1 ,
.Xr perl 1 ,
.Xr procfs 5 .
.Sh HISTORY
The
.Nm
command appeared in FreeBSD 2.2. It has been featured after the
.Nm
command as available on other platforms.
.Sh AUTHOR
The program has been contributed by Wolfram Schneider, this manual
page has been written by
.if n Joerg Wunsch.
.if t J\(:org Wunsch.
.Sh BUGS
Due to limitations in the current implementation of
.Xr procfs 5 ,
it is only possible to figure out the effective UID of a process.
Hence it is impossible to find processes that run setuid, thus a
regular user will not be able to use
.Nm
to send signals to such processes.