killall Command: Tutorial & Examples
The killall command enables you to terminate or signal all instances of a particular process. This command is
particularly useful when you need to stop multiple instances of a process. Instead of killing each process
individually, killall allows you to terminate them all at once.
How it works
The killall command operates by sending a specified signal to all active instances of a given process. By default, the
signal sent is SIGTERM (signal 15), which requests a process to terminate. However, if the process doesn't respond
to SIGTERM, you can escalate to SIGKILL (signal 9) which forcefully terminates the process. It's important to note
that sending SIGKILL should be your last resort as it doesn't allow a process to clean up or save its current state.
What it is used for
The killall command is primarily used for controlling processes that are consuming excessive system resources or are
unresponsive. It can also be used for restarting processes by first killing them and then starting them again. For
instance, the command can be used to manage high load issues on a server or to terminate
processes that have entered an infinite loop.
Why it is important
Understanding and using the killall command is crucial for Linux Server and VM management. This command gives you
control over the processes running on your system, allowing you to manage system resources effectively. It's an
essential tool for troubleshooting and maintaining the stability of your server environment.
How to use it and common parameters
The basic usage of killall command is as follows:
killall process_name
This will send the SIGTERM signal to all instances of process_name.
If you need to forcefully kill a process, you can use the -9 or -KILL option:
killall -9 process_name
Some other commonly used options are:
-i: Interactive mode. Asks for confirmation before killing each process.-w: Wait for all killed processes to die.killallwill not return until all targeted processes are dead.-e: Exact match. Only processes whose names exactly match the argument are signaled.
Potential problems and pitfalls
While killall is a powerful command, it can also cause problems if not used correctly.
Using the
-9or-KILLoption should be your last resort. This is because it forcefully kills the process, which might leave behind temporary files or cause data loss. Always try to useSIGTERM(default) first, and only escalate toSIGKILLif necessary.killallkills all instances of a process. So, be careful when using it in a shared environment, as you might end up killing processes that other users are running.The
killallcommand might not be available on all Unix-like systems. For instance, it's not available by default on some versions of Solaris and BSD.
Examples
Here are a few examples of how to use the killall command:
To kill all instances of a process named
myprocess:killall myprocessTo forcefully kill all instances of a process named
myprocess:killall -9 myprocessTo kill all instances of a process named
myprocessand wait for all processes to terminate:killall -w myprocess
Further Reading
- Linux for Hackers by Mark Reed (partner link)
- How Linux Works by Brian Ward (partner link)
- Linux for Beginners by Jason Cannon (partner link)
- Expert Linux Administration Guide by Vishal Rai (partner link)
As an Amazon Associate, I earn from qualifying purchases.