130 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Markdown
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Markdown
		
	
	
		
			Executable File
		
	
	
	
	
| # The `killall` command
 | |
| 
 | |
| `killall` sends a signal to **all** processes running any of the specified commands.  If no signal name is specified, `SIGTERM` is sent. In general, `killall` command kills all processes by knowing the name of the process.
 | |
| 
 | |
| 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).
 | |
| 
 | |
| ### Examples:
 | |
| 
 | |
| 1. Kill all processes matching the name `conky` with `SIGTERM`:
 | |
| 
 | |
| ```sh
 | |
| killall conky
 | |
| # OR
 | |
| killall -SIGTERM conky
 | |
| # OR
 | |
| kilall -15 conky
 | |
| ```
 | |
| 
 | |
| I was able to kill Wine ( which are Windows exe files running on Linux ) applications this way too.
 | |
| 
 | |
| ```sh
 | |
| killall TQ.exe
 | |
| ```
 | |
| 
 | |
| 2. List all the supported signals:
 | |
| 
 | |
| ```sh
 | |
| $ 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
 | |
| ```
 | |
| 
 | |
| As for the numbers.
 | |
| 
 | |
| ```sh
 | |
| $ for s in $(killall -l); do echo -n "$s " && kill -l $s; done
 | |
| HUP 1
 | |
| INT 2
 | |
| QUIT 3
 | |
| ILL 4
 | |
| TRAP 5
 | |
| ABRT 6
 | |
| BUS 7
 | |
| FPE 8
 | |
| KILL 9
 | |
| USR1 10
 | |
| SEGV 11
 | |
| USR2 12
 | |
| PIPE 13
 | |
| ALRM 14
 | |
| TERM 15
 | |
| STKFLT 16
 | |
| CHLD 17
 | |
| CONT 18
 | |
| STOP 19
 | |
| TSTP 20
 | |
| TTIN 21
 | |
| TTOU 22
 | |
| URG 23
 | |
| XCPU 24
 | |
| XFSZ 25
 | |
| VTALRM 26
 | |
| PROF 27
 | |
| WINCH 28
 | |
| POLL 29
 | |
| PWR 30
 | |
| SYS 31
 | |
| ```
 | |
| 
 | |
| 3. Ask before killing, to prevent unwanted kills:
 | |
| 
 | |
| ```sh
 | |
| $ killall -i conky
 | |
| Kill conky(1685) ? (y/N)
 | |
| ```
 | |
| 
 | |
| 4. Kill all processes and wait until the processes die.
 | |
| 
 | |
| ```sh
 | |
| killall -w conky
 | |
| ```
 | |
| 
 | |
| 5. Kill based on time:
 | |
| 
 | |
| ```sh
 | |
| # Kill all firefox younger than 2 minutes
 | |
| killall -y 2m  firefox
 | |
| 
 | |
| # Kill all firefox older than 2 hours
 | |
| killall -o 2h  firefox
 | |
| ```
 | |
| 
 | |
| ### Syntax:
 | |
| 
 | |
| ```sh
 | |
| killall [OPTION]... [--] NAME...
 | |
| killall -l, --list
 | |
| killall -V, --version
 | |
| ```
 | |
| 
 | |
| ### Additional Flags and their Functionalities:
 | |
| 
 | |
| |**Short Flag**   |**Long Flag**   |**Description**   |
 | |
| |:---|:---|:---|
 | |
| |`-e`|`--exact`|require  an  exact  match for very long names|
 | |
| |`-I`|`--ignore-case`|case insensitive process name match|
 | |
| |`-g`|`--process-group`|kill process group instead of process|
 | |
| |`-y`|`--younger-than`|kill processes younger than TIME|
 | |
| |`-o`|`--older-than`|kill processes older than TIME|
 | |
| |`-i`|`--interactive`|ask for confirmation before killing|
 | |
| |`-l`|`--list`|list all known signal names|
 | |
| |`-q`|`--quiet`|don't print complaints|
 | |
| |`-r`|`--regexp`|interpret NAME as an extended regular expression|
 | |
| |`-s`|`--signal SIGNAL`|send this signal instead of SIGTERM|
 | |
| |`-u`|`--user USER`|kill only process(es) running as USER|
 | |
| |`-v`|`--verbose`|report if the signal was successfully sent|
 | |
| |`-w`|`--wait`|wait for processes to die|
 | |
| |`-n`|`--ns PID`|match processes that belong to the same namespaces as PID
 | |
| |`-Z`|`--context`|REGEXP kill only process(es) having context (must precede other arguments)
 | |
| 
 | |
| ### Related commands
 | |
| 
 | |
| [kill](/ebook/en/content/034-the-kill-command.md), `pidof`
 |