Efficiently managing running processes is a crucial aspect of Linux system administration, enabling administrators to maintain system performance and troubleshoot issues by finding and terminating processes in a Linux environment.
This article explores the ins and outs of finding and terminating less productive or unwanted processes on your Linux system.
What is a Process in Linux?
A process on a Linux system can be a running occurrence of an application or program. You can also refer to processes as tasks executing in the operating system.
When a process is running, it keeps on shifting from one state to another and a process can be in one of the following states:
- Running: meaning the process is either executing or it is just set to be executed.
- Waiting: meaning that the process is waiting for an event or for a system resource to carry out a task.
There are two types of waiting processes under Linux namely interruptible and uninterruptible.
A waiting process that can be interrupted by signals is called Interruptible, while a waiting process that is directly waiting on hardware conditions and cannot be interrupted under any conditions is called uninterruptible.
- Stopped: meaning that the process has been stopped, using a signal.
- Zombie: meaning the process has been stopped abruptly and is dead.
With this brief overview let us now look at ways of finding and killing processes in a Linux system. We’ve already covered a few articles on ways to kill Linux running processes us using kill, pkill, killall, and xkill, you can read them below.
When killing processes, the kill command is used to send a named signal to a named process or group of processes. The default signal is the TERM signal.
Remember that the kill command can be a built-in function in many modern shells or externally located at /bin/kill.
How to Find Process PID in Linux
In Linux, every process on a system has a PID (Process Identification Number) which can be used to kill the process.
You can identify the PID of any process by using the pidof command as follows:
$ pidof firefox $ pidof chrome $ pidof gimp-2.8
How to Kill Processes in Linux
Once you find the process PID, let us now look at how to kill processes. In this first example, I am going to first get the PID of the process and then send a signal to it.
I want to kill the gimp process, so I will do it as follows:
$ pidof gimp-2.8 $ kill 9378
To verify that the process has been killed, run the pidof command and you will not be able to view the PID.
$ pidof gimp-2.8
You can also send a named signal to the process by using the signal name or numbers as follows:
$ pidof vlc $ kill -SIGTERM 9541 $ pidof vlc
Using the signal number to kill a process:
$ pidof banshee $ kill -9 9647 $ pidof banshee
In the above example, the number
9 is the signal number for the SIGKILL signal.
How to Kill Multiple Process PIDs in Linux
To kill more than one process, pass the PID(s) to the kill command as follows:
$ pidof gimp-2.8 $ pidof vlc $ pidof banshee $ kill -9 9734 9747 9762
There are many other ways of killing processes in Linux, these few examples just help to give you an overview of killing processes.
Do let us know how you kill processes in Linux. and also tell other ways if any via comments.