This article will show you how to kill all processes in Linux with a single command. We’ll show you how to easily kill processes such as user scripts, applications, or background jobs.
If you are like me, you have run into this situation many many times. You run the ps command to list all the currently running processes and you see that there are multiple instances running of a certain program. You want to kill all processes but do not want to run the kill command for each one of those specifying the pid manually. Killing all instances of this program is very simple and I’ll show you how to do it using a 1 line command!
Table of Contents
Kill All Processes in Linux using the Name
- Log into the shell of your Linux/Unix host
- If you do not know the name of the script you will like to kill, run:
ps -ef
This will show you a list of all the currently running processes. In the right-most column, you will find the path and filename of the script you want to end. - To kill all instances of this script, run the command:
ps -ef | grep [search string] | awk '{print $2}' | xargs kill -9
Be sure you substitute [search string] to your own value. - Now run ps –ef again and all running instances of that script will be gone!
Using pkill to Kill all Processes Using a Single Command
The pkill
command is a versatile command-line utility in Unix-like operating systems, such as Linux, that allows users to send signals to processes. It’s primarily used to kill all processes based on different criteria like process name, process owner, or process group, among others. pkill
simplifies the process management task by eliminating the need to manually look up process IDs (PIDs) using commands like ps
, as you can directly reference processes by other identifiable attributes.
How to Install pkill
on Ubuntu, CentOS, Fedora, and RHEL Linux
The pkill
command comes pre-installed on most Unix-like operating systems, including Linux distributions like Ubuntu, CentOS, and Debian.
If you find that the pkill
command is missing, it’s part of the procps
or procps-ng
package. You can install this package using the package manager specific to your Linux distribution:
- For Ubuntu, Debian, and other Debian-based distributions, use
apt
:bash sudo apt-get update sudo apt-get install procps
- For CentOS, RHEL, Fedora, and other Red Hat-based distributions, use
yum
ordnf
:bash sudo yum install procps-ng
orbash sudo dnf install procps-ng
After this installation, you should have access to thepkill
command. Remember to usesudo
if you’re not logged in as the root user.
Force Kill Processes Using pkill
If the above command isn’t working you may need to Force Kill the process by adding the -f
flag. Caution – this will cause an immediate shutdown of the process and you may lose any unsaved changes or data stored in memory.
pkill -9 -f [search string]
Using killall
vs kill -9
to Kill All Processes in Linux
“Killall” and “kill -9” are Unix/Linux commands used for process management. “Killall” terminates all instances of a specified process. For example, “killall chrome” ends all running Chrome processes. On the other hand, “kill -9” sends a SIGKILL signal to a specific process ID (PID), forcing an immediate shutdown. For instance, “kill -9 1234” terminates process 1234 immediately. However, “kill -9” can cause data loss or corruption as it doesn’t allow the process to save its state or cleanup. Therefore, it’s typically used as a last resort when other signals fail.
3 Examples of Using the killall
Command
Terminate a Specific Program:
Suppose you want to terminate all instances of a program named “firefox”. You would use the killall
command like so: killall firefox
This command sends a TERM signal (by default) to all processes with the name “firefox”, requesting them to terminate.
Terminate with a Specific Signal:
If a process isn’t responding to the default TERM signal, you can send a stronger KILL signal using killall
. For example, to forcefully terminate all instances of a program named “chrome”, you would use: killall -9 chrome
The -9
option sends the SIGKILL signal, which cannot be ignored by the process, ensuring termination.
Terminate Based on User:
If you want to terminate all processes of a particular user, use the -u
option. For example, to terminate all processes owned by the user “john”, you’d use:killall -u john
This command terminates all processes owned by the user “john”. Be careful when using this, as it can terminate more processes than intended if “john” owns many services.
Ever heard about the “killall” command??
i’ve heard about that, i’ve also heard that sometimes it is not installed…
For some reason killall doesn`t work in script, only in console at my android phone. pkill performs fine everywhere