Category

Linux Command


Usage

killall [options] name ...


Manual

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 a 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).

Required arguments

killall requires at least one of the following to be specified:

  • A process name to target for termination.
  • A user name to target processes owned by a specific user.
  • A security context pattern for processes with matching security context.

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 time: Match only processes that are older (started before) the specified time. The time is specified as a float followed by a unit (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 the process name pattern as a POSIX extended regular expression.
  • -s, --signal, signal: Send this signal instead of SIGTERM.
  • -u, --user username: Kill only processes that 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 a zombie state.
  • -y, --younger-than time: Match only processes that are younger (started after) the specified time. The time is specified as a float followed by a unit (s, m, h, d, w, M, y for seconds, minutes, hours, days, weeks, months, and years, respectively).
  • -Z, --context security_context: Specify security context - kill only processes having a security context that matches the given extended regular expression pattern. Must precede other arguments on the command line. Command names are optional.


Share your experience or ask a question