Linux killall Command
Learn Linux killall Command with examples
Published
- Linux killall Command
- killall Command Syntax
- killall Command Example
- killall -i Command
- killall -l Command
- killall -u Command
- killall -o, ––older-than Command
- killall -y, ––younger-than Command
- killall -w Command
- killall Command Options
- killall bugs
- killall Command in Linux (Documentation)
Linux killall Command
In Linux, we can use “killall” command kill processes by name
killall command is used for killing any running process on the system based on a given name. This command will terminate the processes forcibly when a specified name matches.
killall Command Syntax
>> killall [OPTIONS] name
killall Command Example
kill the gthumb process that was running on my system.
>> killall gthumb
Note: killall is case-sensitive.
killall -i Command
Use killall -i command to ask the user permissions before it kills a process.
>> killall gthumb
killall -l Command
killall -l to list all signals the killall command can send.
>> killall -l
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT
CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS
killall -u Command
If need to kill all processes related to specific user, then you can use the -u option provided by killall.
>> killall -u [user-name]
>> killall -u webmastercampus
killall options to kill processes based on time
killall -o, ––older-than Command
To kill all processes that have now been running for more than 5 hours, then we canuse the -o option.
>> killall -o 6h
killall -y, ––younger-than Command
To kill processes than are, say, less than 3 hours old, then we can do that using the -y option.
>> killall -y 3h
killall -w Command
Use killall -w, –wait If you want to make sure the command only returns after the process dies, it forces killall to wait.
>> killall -w [process-name]
killall Command Options
Options | Description |
-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 kills everything that matches in 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 that 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) than 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) than 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. |
killall bugs
- Killing by file only works for executables that are kept open during execution, i.e. impure executables can’tbe killed this way.
- 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.
- Be warned that typing killall name may not have the desired effect on non-Linux systems, especially when done by a privileged user.
killall Command in Linux (Documentation)
>> man killall
NAME
killall - kill processes by name
SYNOPSIS
killall [-Z, --context pattern] [-e, --exact] [-g, --process-group] [-i, --interactive] [-n, --ns PID]
[-o, --older-than TIME] [-q, --quiet] [-r, --regexp] [-s, --signal 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 speci‐
fied, 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 com‐
mands 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.
-n, --ns
Match against the PID namespace of the given PID. The default is to match against all namespaces.
-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 a POSIX extended regular expression, per regex(3).
-s, --signal, -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 extended 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 un‐
signed 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.