KILLALL(1) manual page
Table of Contents
killall - kill processes by name
killall [-Z, --context
pattern] [-e, --exact] [-g, --process-group] [-i, --interactive] [-o, --older-than TIME]
[-q, --quiet] [-r, --regexp] [-s, --signal signal] [-u, --user user] [-v, --verbose] [-w, --wait]
[-y, --younger-than TIME] [-I, --ignore-case] [-V, --version] [--] name ...
killall -l
killall -V, --version
killall sends a signal to all processes running
any of the specified commands. If no signal name is specified, SIGTERM is
sent.
Signals can be specified either by name (e.g. -HUP or -SIGHUP) or by number
(e.g. -1) or by option -s.
If the command name is not regular expression (option
-r) and contains a slash (/), processes executing that particular file will
be selected for killing, independent of their name.
killall returns a zero
return code if at least one process has been killed for each listed command,
or no commands were listed and at least one process matched the -u and -Z
search criteria. killall returns non-zero otherwise.
A killall process never
kills itself (but may kill other killall processes).
- -e, --exact
- Require
an exact match for very long names. If a command name is longer than 15
characters, the full name may be unavailable (i.e. it is swapped out). In
this case, killall will kill everything that matches within the first 15
characters. With -e, such entries are skipped. killall prints a message for
each skipped entry if -v is specified in addition to -e,
- -I, --ignore-case
- Do
case insensitive process name match.
- -g, --process-group
- Kill the process group
to which the process belongs. The kill signal is only sent once per group,
even if multiple processes belonging to the same process group were found.
- -i, --interactive
- Interactively ask for confirmation before killing.
- -l, --list
- List
all known signal names.
- -o, --older-than
- Match only processes that are older
(started before) the time specified. The time is specified as a float then
a unit. The units are s,m,h,d,w,M,y for seconds, minutes, hours, days,
weeks, Months and years respectively.
- -q, --quiet
- Do not complain if no processes
were killed.
- -r, --regexp
- Interpret process name pattern as an extended regular
expression.
- -s, --signal
- Send this signal instead of SIGTERM.
- -u, --user
- Kill only
processes the specified user owns. Command names are optional.
- -v, --verbose
- Report
if the signal was successfully sent.
- -V, --version
- Display version information.
- -w, --wait
- Wait for all killed processes to die. killall checks once per second
if any of the killed processes still exist and only returns if none are
left. Note that killall may wait forever if the signal was ignored, had
no effect, or if the process stays in zombie state.
- -y, --younger-than
- Match
only processes that are younger (started after) the time specified. The
time is specified as a float then a unit. The units are s,m,h,d,w,M,y for
seconds, minutes, hours, days, weeks, Months and years respectively.
- -Z,
--context
- (SELinux Only) Specify security context: kill only processes having
security context that match with given expended regular expression pattern.
Must precede other arguments on the command line. Command names are optional.
- /proc
- location of the proc file system
Killing by file only
works for executables that are kept open during execution, i.e. impure executables
can’t be killed this way.
Be warned that typing killall name may not have
the desired effect on non-Linux systems, especially when done by a privileged
user.
killall -w doesn’t detect if a process disappears and is replaced by
a new process with the same PID between scans.
If processes change their
name, killall may not be able to match them correctly.
killall has a limit
of names that can be specified on the command line. This figure is the
size of an unsigned long multiplied by 8. For most 32 bit systems the limit
is 32 and similarly for a 64 bit system the limit is usually 64.
kill(1)
,
fuser(1)
, pgrep(1)
, pidof(1)
, pkill(1)
, ps(1)
, kill(2)
.
Table of Contents