How to Find PID and Kill a Process in Linux: A Step by Step Guide
Table of Contents
There comes a time where you need to find information about a certain process, often to find out what its ID is to parse to the ‘kill’ command. However, it need not necessarily be for that, of course. In this article we will learn how to find a process id of program and kill a process in Linux.
How to find a process id using ‘ps’?
Short for process state, ‘ps‘ is a tool that can read all of the process information on your computer, display the output on the terminal and exit. Information can include the process ID, user, and group it belongs to, the running state, and whether it was launched from a terminal.
It can also be used to list certain processes or all of them. It accepts standard style arguments (with a dash e.g. ‘-e’) as well as BSD-style arguments (without a dash), and GNU-style syntax (those preceded by two dashes). Consult the man page for more information.
How to use ‘ps’ to find process id of a program?
Like many Linux commands, this one is simple to use. When executed with no arguments, it will print out some process information about ‘ps’ and the shell that ‘ps’ ran from. Here is an overview of some of the ways you can use ps.
Top 10 Linux Network Monitoring Tools
Keeping control of our network is vital to prevent any program from overusing it and slows down the overall system operation. There are several network monitoring tools for different operating systems today.
Listing All Processes
You can use ps to show all of the processes running on your computer. To print a list of all processes and their details, use the ‘-e’ parameter to list all processes.
$ ps -e
For extra information about a process including its parent process ID (PID), and the username it belongs to, couple it with the –‘f‘ parameter.
$ ps -ef
For even more information, use the ‘-F’ parameter.$ ps -eF
Filtering Output
If you only wish to view information about a specific process, or processes belonging to certain users, or filter by process names, there certainly some options to take advantage of. For instance, if you wanted to list all processes belonging to a user, such as a root, you would run this command:
$ ps -u root -U root u
As you can see the above output contains PID (process id). This is the process ID we can use to act upon this specific process.
Specific Processes
Once you have the process of a program, you can also view detailed information about it using the ‘-p’ parameter.
$ ps -lp <process-id>
The ‘-l’ parameter is for displaying extra information, like the ‘-f’ parameter with a few differences, like the username isn’t displayed, but the user ID (UID) is.
Show Threads
Threads can also be shown alongside processes using the ‘L’ parameter, which will display the LWP column. This is where you will see IDs for each thread associated with a process. The ID of the first thread will always be identical to the process ID it came from.
$ ps -eLf
Use the ‘-p PID’ argument to show threads from a particular process:
$ ps -Lfp <PID>
Find process ID by program name
You may pipe output from ps to grep if you are looking for specific information that you may not be easily able to obtain using the parameters. This method can be used to find certain processes with a specific name.
$ ps -ef | grep chromium-browser
Choosing What To Show
Using the ‘-o’ parameter allows you to define your own output format. You can choose to show the PID, PPID, user, and the command and its arguments in the output, for example.
$ ps -eo pid,ppid,%cpu,%mem,uname,comm,args
Find a process id using ‘top’
Like ps, the top is a program that lists information about processes in the system. Instead of printing a list to the terminal, though, it provides a real-time view of the processes with memory and CPU usages shown.
When you run top
without any arguments, it shows a full list of processes with the process that has the highest CPU usage at the top.
Navigation is best done using the PgUp and PgDn buttons, with the Home and End buttons used to go to the top and bottom of the list, respectively. As with many things, the man page contains a lot of excellent information about its usage.
Here is top
launched with no arguments:
Show All Processes Belonging To A User
Top will accept either the username or UID using the ‘-u’ parameter to only show the processes belonging to that user.
$ top -u <UID|Username>
Monitoring a Specific Process
You can use the ‘-p’ argument to parse a process ID to top and monitor its activity.
$ top -p <PID>
Choosing What To Show
Like ps
, you can have top
display as much or as little information about each process by specifying columns to show. You can change which columns to show by pressing ‘f’ while top is running.
Use the up and down arrow buttons to navigate, and press the space bar to select and deselect the columns. You can even change the sorting of the process list by pressing ‘s’ on the selected column.
Showing Threads
Like ps, top can show individual threads from each process together with the processes using the ‘-H’ parameter. The thread ID will be listed under the PID column.
$ top -H
To show threads from a particular process, run this:
$ top -Hp <PID>
Graphical Tools
Each desktop environment typically comes with their own apps for viewing process activity. They typically feature graphs representing memory and CPU usage as well as network and disk usage by a process.
How to kill a process in Linux?
Lastly we can use the above obtained information to kill a process. We can use the process id to send a TERM signal to a process. The kill
command will kill the process.
$ kill <PID>
If this doesn’t do the trick, you can have it send the KILL signal (‘-9’ parameter), which cannot be caught by programs. This is the last resort, though.
Conclusion
Displaying process information is a simple process in Linux using either ‘ps‘ or ‘top‘ from the terminal. You can control how much detail you wish to view the processes that are running or sleeping on your system.
Once you have known the process ID of a program, you can use the process id to kill a process in Linux. For more in-depth information, you can read man pages.
Frequently Asked Questions
What does kill the process mean?
LinuxAndUbuntu Newsletter
Join the newsletter to receive the latest updates in your inbox.