Linux Commands Examples

A great documentation place for Linux commands


kill processes by name

see also : kill - fuser - pgrep - pidof - pkill - ps


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 ...
-V, --version

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!


killall Xvfb
killall skype
killall wuserver
killall wuclient
killall wuproxy
killall php
killall python
killall java
killall createthr
killall generate_data
killall stest
killall stest
killall Xvfb
killall doozerd
killall openrs
killall perl


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.



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.

see also

kill , fuser , pgrep , pidof , pkill , ps , kill.

How can this site be more helpful to YOU ?

give  feedback