The `ps` Command to List Running Processes in Linux
The `ps`
command, which stands for “process status,” is like a computer tool that helps you see what’s happening inside your Linux computer. Imagine your computer is doing several things simultaneously, like running different programs or apps. These are the processes and the `ps`
command lets you take a quick look at them. When you use it without any special instructions, it shows you the processes that are connected to the window or screen you are currently using. But here’s where it gets interesting: you can make the ps
command show you exactly what you want to know by giving it special instructions, called options. These options let you customize the information you see, like finding out which programs are using the most computer power or checking what a specific user is doing. So, while it can give you a basic overview, the ps
command’s real strength is in letting you choose exactly what details you want to see about the processes on your computer.
Syntax of `ps` Command in Linux
The ps
command provides a snapshot of the current processes on your system. The basic syntax is as follows:
ps [options]
Without any options, `ps`
displays information about the processes associated with the current terminal session. However, to harness the full potential of the `ps`
command, various options can be used to customize the output.
Options for `ps` Command to List Running Processes in Linux
Some commonly used options
Options |
Description |
---|---|
|
List all ruining processes for all users. |
|
Lists all processes on the entire system, offering a complete overview of running tasks and programs. |
|
List all processes except session leaders (instances where the process ID is the same as the session ID) and processes not associated with a terminal. |
|
Lists all processes except session leaders, providing a filtered view of processes running on the system. |
|
Lists all processes except those that meet specific user-defined conditions. |
|
Displays the hierarchy of processes in a visual ASCII art format, illustrating parent-child relationships. |
|
Presents the output in the jobs format, providing detailed information such as process ID, session ID, and command. |
|
Lists all processes associated with the current terminal, aiding in focusing on tasks related to a specific terminal. |
|
Only lists running processes, useful for monitoring system performance. |
|
Expands the output to include additional information like CPU and memory usage. |
|
Specifies a username, listing processes associated with that user. |
|
Includes processes without a TTY, showing background processes not tied to a specific terminal session. |
1) Simple process selection : Shows the processes for the current shell –
ps
Result contains four columns of information. Where,
- PID – the unique process ID
- TTY – terminal type that the user is logged into
- TIME – amount of CPU in minutes and seconds that the process has been running
- CMD – name of the command that launched the process.
Note – Sometimes when we execute ps command, it shows TIME as 00:00:00. It is nothing but the total accumulated CPU utilization time for any process and 00:00:00 indicates no CPU time has been given by the kernel till now. In above example we found that, for bash no CPU time has been given. This is because bash is just a parent process for different processes which needs bash for their execution and bash itself is not utilizing any CPU time till now.
2) View All Running Processes in Linux.
To view all running processes, use either of the following options with the `ps`
command:
ps -A
ps -e
3) List Processes Not associated with a Terminal in Linux
View all processes except both session leaders and processes not associated with a terminal.
ps -a
Note –
You may be thinking that what is session leader? A unique session is assign to every process group. So, session leader is a process which kicks off other processes. The process ID of first process of any session is similar as the session ID.
4) List All The Processes Except Session Leaders in Linux
A session leader is a process that initiates other processes. View processes except session leaders:
ps -d
5) List All Processes Except those that Fulfill the Specified Conditions (negates the selection)
Example – If you want to see only session leader and processes not associated with a terminal. Then, run
ps -a -N
OR
ps -a --deselect
6) List All Processes Associated with this Terminal in Linux
ps -T
7) View All Processes Owned By You
Processes i.e same EUID as ps which means runner of the ps command, root in this case –
ps -x
8) Process selection by list
Here we will discuss how to get the specific processes list with the help of ps command. These options accept a single argument in the form of a blank-separated or comma-separated list. They can be used multiple times.
For example:
ps -p "1 2" -p 3,4
9) Select Processes by Command Name
This selects the processes whose executable name is given in cmdlist. There may be a chance you won’t know the process ID and with this command it is easier to search.
Syntax :
ps -C command_name
Example :
ps -C systemd
10) Select by group ID or name
The group ID identifies the group of the user who created the process.
Syntax:
ps -G group_name
ps --Group group_name
Example :
ps -G root
View by group id :
ps -g 1
View processes by process ID :
Syntax:
ps p process_id
ps -p process_id
ps --pid process_id
Example:
ps p 27223
You can view multiple processes by specifying multiple process IDs separated by blank or comma –
Example :
ps -p 1 904 27223
Here, we mentioned three process IDs – 1, 904 and 27223 which are separated by blank.
How to List Running Processes in Linux | ps Command
As we all know Linux is a multitasking and multi-user system. So, it allows multiple processes to operate simultaneously without interfering with each other. Process is one of the important fundamental concepts of the Linux OS. A process is an executing instance of a program that carries out different tasks within the operating system.
Table of Content
- What is a Process in Linux?
- List Running Processes in Linux
- 1. The `ps` Command to List Running Processes in Linux
- 2. The `top` Command to List Running Processes in Linux
- 3. The `htop` Command to List Running Processes in Linux
- 4. The `atop` Command to List Running Processes in Linux
- 5. The `pgrep` Command to Find Process IDs in Linux