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 4, 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 | 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 EXAMPLES 149Send 150.Dv SIGTERM 151to all firefox processes: 152.Bd -literal -offset indent 153killall firefox 154.Ed 155.Pp 156Send 157.Dv SIGTERM 158to firefox processes belonging to 159.Va USER : 160.Bd -literal -offset indent 161killall -u ${USER} firefox 162.Ed 163.Pp 164Stop all firefox processes: 165.Bd -literal -offset indent 166killall -SIGSTOP firefox 167.Ed 168.Pp 169Resume firefox processes: 170.Bd -literal -offset indent 171killall -SIGCONT firefox 172.Ed 173.Pp 174Show what would be done to firefox processes, but do not actually signal them: 175.Bd -literal -offset indent 176killall -s firefox 177.Ed 178.Pp 179Send 180.Dv SIGKILL 181to csh process running inside jail ID 282: 182.Bd -literal -offset indent 183killall -9 -j282 csh 184.Ed 185.Pp 186Send 187.Dv SIGTERM 188to all processes matching provided pattern (like vim and vimdiff): 189.Bd -literal -offset indent 190killall -m 'vim*' 191.Ed 192.Sh DIAGNOSTICS 193Diagnostic messages will only be printed if requested by 194.Fl d 195options. 196.Sh SEE ALSO 197.Xr kill 1 , 198.Xr pkill 1 , 199.Xr sysctl 3 , 200.Xr jail 8 201.Sh HISTORY 202The 203.Nm 204command appeared in 205.Fx 2.1 . 206It has been modeled after the 207.Nm 208command as available on other platforms. 209.Sh AUTHORS 210.An -nosplit 211The 212.Nm 213program was originally written in Perl and was contributed by 214.An Wolfram Schneider , 215this manual page has been written by 216.An J\(:org Wunsch . 217The current version of 218.Nm 219was rewritten in C by 220.An Peter Wemm 221using 222.Xr sysctl 3 . 223