How to List Running Processes in Linux | ps Command
Last Updated :
01 Nov, 2025
Listing running processes in Linux helps you monitor and manage all active programs and system tasks.
- Linux provides commands to view active processes and their details like PID, CPU, and memory usage.
- The most common command is
ps, which shows currently running processes. top displays real-time updates of system processes and resource usage.htop offers an interactive, color-coded view for easier process management.- These tools help in diagnosing system performance issues or terminating unresponsive processes.
List Running Processes in Linux
We can use multiple commands to list the running processes in Linux like ps, top, htop,and atop commands in Linux. We can also have a combination of commands to list the running processes in Linux.
1. The `ps` Command to List Running Processes in Linux
The ps command in Linux is used to display information about the currently running processes on the system.
ps stands for process status.- It shows details like PID, user, CPU, memory usage, and the command that started the process.
- By default, it displays processes running in the current shell.
- Use options to view more detailed or system-wide process information.
- Common formats include standard (
ps), user-based (ps -u), and full system (ps -ef or ps aux). - Often combined with
grep to find specific processes. - Useful for monitoring and troubleshooting running applications and services.
Example:
Simple process selection : Shows the processes for the current shell -
ps
list running processes in LinuxResult 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.
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 |
|---|
a
| List all ruining processes for all users. |
|---|
-A, -e
| Lists all processes on the entire system, offering a complete overview of running tasks and programs. |
|---|
-a
| 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. |
|---|
-d
| Lists all processes except session leaders, providing a filtered view of processes running on the system. |
|---|
--deselect, -N
| Lists all processes except those that meet specific user-defined conditions. |
|---|
f
| Displays the hierarchy of processes in a visual ASCII art format, illustrating parent-child relationships. |
|---|
-j
| Presents the output in the jobs format, providing detailed information such as process ID, session ID, and command. |
|---|
T
| Lists all processes associated with the current terminal, aiding in focusing on tasks related to a specific terminal. |
|---|
r
| Only lists running processes, useful for monitoring system performance. |
|---|
u
| Expands the output to include additional information like CPU and memory usage. |
|---|
-u
| Specifies a username, listing processes associated with that user. |
|---|
x
| Includes processes without a TTY, showing background processes not tied to a specific terminal session. |
|---|
1) 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
ps -e option to view all running processes in linux2) 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
ps -a option to list running processes in linuxNote -
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.
3) 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
ps -d option to list running processes in linux4) 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

5) displays a detailed snapshot of all running processes in the system including system, background, and user processes.
ps aux

6) List All Processes Associated with this Terminal in Linux
ps -T
ps -T option to list running processes in linux7) 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
ps -x option to list running processes in linux8) 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
ps -C option to list running processes in linux10) 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.
2. The `top` Command to List Running Processes in Linux
In Linux, the `top` command is a dynamic and interactive tool that provides real-time information about system processes. It offers a comprehensive view of running processes, system resource utilization, and other critical system metrics. This article explores how to effectively use the top command to monitor and manage processes.
Launching top
To launch the top command, open a terminal and simply type:
top
list all processes running in Linux in topProcess-related information including:
PID: Process IDUSER: Owner of the processPR: PriorityNI: Nice valueVIRT: Virtual memory usageRES: Resident set size (non-swapped physical memory used)SHR: Shared memoryS: Process status (S: Sleeping, R: Running, I: Idle)%CPU: Percentage of CPU usage%MEM: Percentage of memory usageTIME+: Total CPU timeCOMMAND: Command or process name
3. The `htop` Command to List Running Processes in Linux
`htop` is an interactive process viewer for Linux that provides a visually appealing and feature-rich alternative to the traditional `top` command. It allows users to monitor and manage system processes in real-time with an easy-to-use interface. This guide demonstrates how to utilize `htop` to list running processes on a Linux system.
Installing htop
Before using htop, ensure it is installed on your system. Use the package manager relevant to your Linux distribution:
Debian/Ubuntu:
sudo apt-get install htop
Red Hat/CentOS:
sudo dnf install htop
Launching htop
To launch htop, open a terminal and type:
htop
list all processes running in Linux in htopProcess-related information including:
PID: Process IDUSER: Owner of the processPRI: PriorityNI: Nice valueVIRT: Virtual memory usageRES: Resident set size (non-swapped physical memory used)SHR: Shared memoryS: Process status (S: Sleeping, R: Running, I: Idle)CPU%: Percentage of CPU usageMEM%: Percentage of memory usageTIME+: Total CPU timeCommand: Command or process name
4. The `atop` Command to List Running Processes in Linux
`atop` is a powerful and interactive system and process monitor for Linux that provides detailed information about system resources and processes. This guide illustrates how to use the `atop` command to list running processes and monitor system activity.
Installing htop
Before using atop, ensure it is installed on your system. Use the package manager relevant to your Linux distribution:
Debian/Ubuntu:
sudo apt-get install atop
Red Hat/CentOS:
sudo dnf install atop
Launching atop
To launch atop, open a terminal and type:
atop
list all processes running in Linux in atopProcess-related information including:
- PID : Process ID
- SYSCPU : System CPU Time
- USRCPU : User CPU Time
- VGROW : Virtual Memory Growth
- RGROW : Resident Memory Growth
- RUID : Real User ID
- EUID : Effective User ID
- ST : Process State
- EXC : Exit Code
- THR : Number of Threads
- S : Process Status
- CPUNR : CPU Number
- CPU : Overall CPU Usage
- CMD : Command or Process Name
5. The `pgrep` Command to Find Process IDs in Linux
The `pgrep` command in Linux is a useful tool for finding and listing process IDs (PIDs) based on various criteria. It simplifies the process of identifying running processes, especially when searching for multiple instances or processes associated with specific attributes.
Basic Usage
To find the PID of a process using pgrep, you can use the following syntax:
pgrep [options] pattern
For instance, use the following command to search for the `systemd` process:
pgrep systemd
Finding process IDExample: Using the PID 291 provides information on the systemd process:
Finding process ID
Explore
Linux/Unix Tutorial
5 min read
Getting Started with Linux
Installation with Linux
Linux Commands
Linux File System
Linux Kernel
Linux Networking Tools
Linux Process
Linux Firewall
Shell Scripting & Bash Scripting