NAME¶
killall - kill processes by name
SYNOPSIS¶
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
DESCRIPTION¶
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).
OPTIONS¶
- -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.
FILES¶
/proc location of the proc file system
KNOWN BUGS¶
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.
AUTHORS¶
Werner Almesberger <werner@almesberger.net> wrote the original version of
psmisc. Since version 20 Craig Small <csmall@enc.com.au> can be blamed.
SEE ALSO¶
kill(1),
fuser(1),
pgrep(1),
pidof(1),
pkill(1),
ps(1),
kill(2).