2024-12-24
killall
killall
sends termination signals to processes matching a given name. Unlike kill
, which requires the PID, killall
uses the process name as its argument. This simplifies the process of killing multiple instances of the same program running concurrently.
The basic syntax is straightforward:
killall process_name
Replace process_name
with the actual name of the process you want to terminate. For instance, to terminate all running instances of the firefox
browser, you would use:
killall firefox
If multiple processes share the same name, killall
will terminate them all. This is particularly useful when dealing with applications that spawn multiple child processes. For example, if you have many gnome-terminal
windows open, a single killall gnome-terminal
command will close them all.
killall gnome-terminal
By default, killall
sends the SIGTERM
signal (signal 15), which requests processes to terminate gracefully. However, you can specify different signals using the -s
or --signal
option followed by the signal name or number.
For a forceful termination, use SIGKILL
(signal 9):
killall -9 firefox
Caution: SIGKILL
does not allow for graceful shutdown. Unsaved data might be lost. Use this option cautiously. SIGTERM
is generally preferred unless immediate termination is absolutely necessary.
You can also specify signals using their names:
killall -s KILL firefox # Equivalent to killall -9 firefox
killall --signal HUP apache2 # Sends the SIGHUP signal to apache2 processes
killall
is case-sensitive by default. To perform a case-insensitive search, use the -i
or --ignore-case
option:
killall -i Firefox # Kills processes named "firefox" or "Firefox"
killall
can handle multiple process names as arguments:
killall firefox chrome
This will terminate all processes named firefox
and all processes named chrome
.
After using killall
, it’s good practice to verify that the processes have been terminated. You can use the ps
command for this purpose:
ps aux | grep firefox
If no firefox
processes are running, the command will return nothing or only lines related to the grep
command itself.
killall5
While less common, some systems may have killall5
which is essentially an older version of killall
. It generally offers the same core functionality but may lack some of the more advanced features present in modern versions of killall
.
The killall
command offers a simple yet powerful approach to managing processes in Linux. Understanding the different signal options and the case-sensitive nature of the command is important for effectively using it. Always exercise caution when using SIGKILL
to avoid data loss. Remember to check the termination of the processes afterwards to ensure your commands have had the desired effect.