killall - kill processes by name
killall [-Z,--context pattern] [-e,--exact] [-g,--process-group]
[-i,--interactive] [-q,--quiet] [-r,--regexp] [-s,--signal signal]
[-u,--user user] [-v,--verbose] [-w,--wait] [-I,--ignore-case]
[-V,--version] [--] name ...
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 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 nonzero otherwise.
A killall process never kills itself (but may kill other killall processes).
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,
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.
Werner Almesberger <firstname.lastname@example.org> wrote the original version of psmisc. Since version 20 Craig Small <email@example.com> can be blamed.
kill(1) , fuser(1) , pgrep(1) , pidof(1) , pkill(1) , ps(1) , kill(2) .
Table of Contents