Thanks to visit codestin.com
Credit goes to www.geeksforgeeks.org

Open In App

How to List Running Processes in Linux | ps Command

Last Updated : 01 Nov, 2025
Comments
Improve
Suggest changes
19 Likes
Like
Report

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 Linux
list running processes in Linux

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. 

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
ps -e
158
ps -e option to view all running processes in linux

2) 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 linux
ps -a option to list running processes in linux

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.

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 linux
ps -d option to list running processes in linux

4) 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
ps

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

ps aux
file


6) List All Processes Associated with this Terminal in Linux

ps -T
ps -T option to list running processes in linux
ps -T option to list running processes in linux

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
ps -x option to list running processes in linux
ps -x option to list running processes in linux

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
ps -C option to list running processes in linux
ps -C option to list running processes in linux

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

164

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 top
list all processes running in Linux in top

Process-related information including:

  • PID: Process ID
  • USER: Owner of the process
  • PR: Priority
  • NI: Nice value
  • VIRT: Virtual memory usage
  • RES: Resident set size (non-swapped physical memory used)
  • SHR: Shared memory
  • S: Process status (S: Sleeping, R: Running, I: Idle)
  • %CPU: Percentage of CPU usage
  • %MEM: Percentage of memory usage
  • TIME+: Total CPU time
  • COMMAND: 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 top
list all processes running in Linux in htop

Process-related information including:

  • PID: Process ID
  • USER: Owner of the process
  • PRI: Priority
  • NI: Nice value
  • VIRT: Virtual memory usage
  • RES: Resident set size (non-swapped physical memory used)
  • SHR: Shared memory
  • S: Process status (S: Sleeping, R: Running, I: Idle)
  • CPU%: Percentage of CPU usage
  • MEM%: Percentage of memory usage
  • TIME+: Total CPU time
  • Command: 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 atop
list all processes running in Linux in atop

Process-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 ID
Finding process ID

Example: Using the PID 291 provides information on the systemd process:

Finding process ID
Finding process ID

Explore