Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #641
Difficulty: Medium
NeXTSTEP had a Unix operating system based on the Minix kernel, plus source code from System V.
True or False?
Linux & Unix Commands - Search Man Pages

killall(1) [mojave man page]

KILLALL(1)						    BSD General Commands Manual 						KILLALL(1)

NAME
killall -- kill processes by name SYNOPSIS
killall [-delmsvz] [-help] [-u user] [-t tty] [-c procname] [-SIGNAL] [procname ...] DESCRIPTION
The killall utility kills processes selected by name, as opposed to the selection by pid as done by kill(1). By default, it will send a TERM signal to all processes with a real UID identical to the caller of killall that match the name procname. The super-user is allowed to kill any process. The options are as follows: -v Be more verbose about what will be done. -e Use the effective user ID instead of the (default) real user ID for matching processes specified with the -u option. -help Give a help on the command usage and exit. -l List the names of the available signals and exit, like in kill(1). -m Match the argument procname as a (case sensitive) regular expression against the names of processes found. CAUTION! This is dangerous, a single dot will match any process running under the real UID of the caller. -s Show only what would be done, but do not send any signal. -d Print detailed information about the processes matched, but do not send any signal. -SIGNAL Send a different signal instead of the default TERM. The signal may be specified either as a name (with or without a lead- ing SIG), or numerically. -u user Limit potentially matching processes to those belonging to the specified user. -t tty Limit potentially matching processes to those running on the specified tty. -c procname When used with the -u or -t flags, limit potentially matching processes to those matching the specified procname. -z Do not skip zombies. This should not have any effect except to print a few error messages if there are zombie processes that match the specified pattern. ALL PROCESSES
Sending a signal to all processes with uid XYZ is already supported by kill(1). So use kill(1) for this job (e.g. $ kill -TERM -1 or as root $ echo kill -TERM -1 | su -m <user>) EXIT STATUS
The killall command will respond with a short usage message and exit with a status of 2 in case of a command error. A status of 1 will be returned if either no matching process has been found or not all processes have been signalled successfully. Otherwise, a status of 0 will be returned. DIAGNOSTICS
Diagnostic messages will only be printed if requested by -d options. SEE ALSO
kill(1), sysctl(3) HISTORY
The killall command appeared in FreeBSD 2.1. It has been modeled after the killall command as available on other platforms. AUTHORS
The killall program was originally written in Perl and was contributed by Wolfram Schneider, this manual page has been written by Jorg Wunsch. The current version of killall was rewritten in C by Peter Wemm using sysctl(3). BSD
January 26, 2004 BSD

Check Out this Related Man Page

KILLALL(1)							   User Commands							KILLALL(1)

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 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. -n, --ns Match against the PID namespace of the given PID. Use 0 to match against all namespaces. The default is to match against the current PID namespace. -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 expres- sion 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. SEE ALSO
kill(1), fuser(1), pgrep(1), pidof(1), pkill(1), ps(1), kill(2), regex(3). psmisc 2017-06-12 KILLALL(1)

Featured Tech Videos