1.\" Copyright (C) 1995 by Joerg Wunsch, Dresden 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS 14.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16.\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, 17.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 19.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 21.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 22.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 23.\" POSSIBILITY OF SUCH DAMAGE. 24.\" 25.\" $FreeBSD$ 26.\" 27.Dd June 30, 2013 28.Dt KILLALL 1 29.Os 30.Sh NAME 31.Nm killall 32.Nd kill processes by name 33.Sh SYNOPSIS 34.Nm 35.Op Fl delmsvz 36.Op Fl help 37.Op Fl I 38.Op Fl j Ar jail 39.Op Fl u Ar user 40.Op Fl t Ar tty 41.Op Fl c Ar procname 42.Op Fl Ar SIGNAL 43.Op Ar procname ... 44.Sh DESCRIPTION 45The 46.Nm 47utility kills processes selected by name, as opposed to the selection by PID 48as done by 49.Xr kill 1 . 50By default, it will send a 51.Dv TERM 52signal to all processes with a real UID identical to the 53caller of 54.Nm 55that match the name 56.Ar procname . 57The super-user is allowed to kill any process. 58.Pp 59The options are as follows: 60.Bl -tag -width ".Fl c Ar procname" 61.It Fl d | v 62Be more verbose about what will be done. 63For a single 64.Fl d 65option, a list of the processes that will be sent the signal will be 66printed, or a message indicating that no matching processes have been 67found. 68.It Fl e 69Use the effective user ID instead of the (default) real user ID for matching 70processes specified with the 71.Fl u 72option. 73.It Fl help 74Give a help on the command usage and exit. 75.It Fl I 76Request confirmation before attempting to signal each 77process. 78.It Fl l 79List the names of the available signals and exit, like in 80.Xr kill 1 . 81.It Fl m 82Match the argument 83.Ar procname 84as a (case sensitive) regular expression against the names 85of processes found. 86CAUTION! 87This is dangerous, a single dot will match any process 88running under the real UID of the caller. 89.It Fl s 90Show only what would be done, but do not send any signal. 91.It Fl Ar SIGNAL 92Send a different signal instead of the default 93.Dv TERM . 94The signal may be specified either as a name 95(with or without a leading 96.Dq Li SIG ) , 97or numerically. 98.It Fl j Ar jail 99Kill processes in the specified 100.Ar jail . 101.It Fl u Ar user 102Limit potentially matching processes to those belonging to 103the specified 104.Ar user . 105.It Fl t Ar tty 106Limit potentially matching processes to those running on 107the specified 108.Ar tty . 109.It Fl c Ar procname 110Limit potentially matching processes to those matching 111the specified 112.Ar procname . 113.It Fl q 114Suppress error message if no processes are matched. 115.It Fl z 116Do not skip zombies. 117This should not have any effect except to print a few error messages 118if there are zombie processes that match the specified pattern. 119.El 120.Sh ALL PROCESSES 121Sending a signal to all processes with the given UID 122is already supported by 123.Xr kill 1 . 124So use 125.Xr kill 1 126for this job (e.g.\& 127.Dq Li "kill -TERM -1" 128or as root 129.Dq Li "echo kill -TERM -1 | su -m <user>" ) . 130.Sh IMPLEMENTATION NOTES 131This 132.Fx 133implementation of 134.Nm 135has completely different semantics as compared to the traditional 136.Ux 137System V behavior of 138.Nm . 139The latter will kill all processes that the current user is able to 140kill, and is intended to be used by the system shutdown process only. 141.Sh EXIT STATUS 142The 143.Nm 144utility exits 0 if some processes have been found and 145signalled successfully. 146Otherwise, a status of 1 will be 147returned. 148.Sh DIAGNOSTICS 149Diagnostic messages will only be printed if requested by 150.Fl d 151options. 152.Sh SEE ALSO 153.Xr kill 1 , 154.Xr pkill 1 , 155.Xr sysctl 3 , 156.Xr jail 8 157.Sh HISTORY 158The 159.Nm 160command appeared in 161.Fx 2.1 . 162It has been modeled after the 163.Nm 164command as available on other platforms. 165.Sh AUTHORS 166.An -nosplit 167The 168.Nm 169program was originally written in Perl and was contributed by 170.An Wolfram Schneider , 171this manual page has been written by 172.An J\(:org Wunsch . 173The current version of 174.Nm 175was rewritten in C by 176.An Peter Wemm 177using 178.Xr sysctl 3 . 179