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 27, 2020 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 62Be more verbose about what will be done, but do not send any signal. 63The total number of user processes and the real user ID is shown. 64A list of the processes that will be sent the signal will be printed, or a 65message indicating that no matching processes have been found. 66.It Fl e 67Use the effective user ID instead of the (default) real user ID for matching 68processes specified with the 69.Fl u 70option. 71.It Fl help 72Give a help on the command usage and exit. 73.It Fl I 74Request confirmation before attempting to signal each 75process. 76.It Fl l 77List the names of the available signals and exit, like in 78.Xr kill 1 . 79.It Fl m 80Match the argument 81.Ar procname 82as a (case sensitive) regular expression against the names 83of processes found. 84CAUTION! 85This is dangerous, a single dot will match any process 86running under the real UID of the caller. 87.It Fl v 88Be verbose about what will be done. 89.It Fl s 90Same as 91.Fl v , 92but do not send any signal. 93.It Fl Ar SIGNAL 94Send a different signal instead of the default 95.Dv TERM . 96The signal may be specified either as a name 97(with or without a leading 98.Dq Li SIG ) , 99or numerically. 100.It Fl j Ar jail 101Kill processes in the specified 102.Ar jail . 103.It Fl u Ar user 104Limit potentially matching processes to those belonging to 105the specified 106.Ar user . 107.It Fl t Ar tty 108Limit potentially matching processes to those running on 109the specified 110.Ar tty . 111.It Fl c Ar procname 112Limit potentially matching processes to those matching 113the specified 114.Ar procname . 115.It Fl q 116Suppress error message if no processes are matched. 117.It Fl z 118Do not skip zombies. 119This should not have any effect except to print a few error messages 120if there are zombie processes that match the specified pattern. 121.El 122.Sh ALL PROCESSES 123Sending a signal to all processes with the given UID 124is already supported by 125.Xr kill 1 . 126So use 127.Xr kill 1 128for this job (e.g.\& 129.Dq Li "kill -TERM -1" 130or as root 131.Dq Li "echo kill -TERM -1 | su -m <user>" ) . 132.Sh IMPLEMENTATION NOTES 133This 134.Fx 135implementation of 136.Nm 137has completely different semantics as compared to the traditional 138.Ux 139System V behavior of 140.Nm . 141The latter will kill all processes that the current user is able to 142kill, and is intended to be used by the system shutdown process only. 143.Sh EXIT STATUS 144The 145.Nm 146utility exits 0 if some processes have been found and 147signalled successfully. 148Otherwise, a status of 1 will be 149returned. 150.Sh EXAMPLES 151Send 152.Dv SIGTERM 153to all firefox processes: 154.Bd -literal -offset indent 155killall firefox 156.Ed 157.Pp 158Send 159.Dv SIGTERM 160to firefox processes belonging to 161.Va USER : 162.Bd -literal -offset indent 163killall -u ${USER} firefox 164.Ed 165.Pp 166Stop all firefox processes: 167.Bd -literal -offset indent 168killall -SIGSTOP firefox 169.Ed 170.Pp 171Resume firefox processes: 172.Bd -literal -offset indent 173killall -SIGCONT firefox 174.Ed 175.Pp 176Show what would be done to firefox processes, but do not actually signal them: 177.Bd -literal -offset indent 178killall -s firefox 179.Ed 180.Pp 181Send 182.Dv SIGKILL 183to csh process running inside jail ID 282: 184.Bd -literal -offset indent 185killall -9 -j282 csh 186.Ed 187.Pp 188Send 189.Dv SIGTERM 190to all processes matching provided pattern (like vim and vimdiff): 191.Bd -literal -offset indent 192killall -m 'vim*' 193.Ed 194.Sh DIAGNOSTICS 195Diagnostic messages will only be printed if the 196.Fl d 197flag is used. 198.Sh SEE ALSO 199.Xr kill 1 , 200.Xr pkill 1 , 201.Xr sysctl 3 , 202.Xr jail 8 203.Sh HISTORY 204The 205.Nm 206command appeared in 207.Fx 2.1 . 208It has been modeled after the 209.Nm 210command as available on other platforms. 211.Sh AUTHORS 212.An -nosplit 213The 214.Nm 215program was originally written in Perl and was contributed by 216.An Wolfram Schneider , 217this manual page has been written by 218.An J\(:org Wunsch . 219The current version of 220.Nm 221was rewritten in C by 222.An Peter Wemm 223using 224.Xr sysctl 3 . 225