Best Telegram Programming Groups For Coders &Developers   It Wasn’t Me - Secure Your Account   Mr.Robot All Seasons 1,2,3 Full | Free Torrent Download   Mr.Robot All Seasons 1,2,3,4 Full | Watch Online [FREE]   5 Tips Will Keep You Safe During Christmas Holiday’s Online Shopping   You Can Get All Adobe Apps For $30 a Month Right Now   How To Wipe An iPhone Clean (ERASE) Before Selling?   Programming Languages To Learn To Be An Expert Hacker!   Cybercriminals exchange tips on underground forums about avoiding arrests   A comprehensive look into emerging Signal encrypted messaging application   A Detailed Comparison of WhatsApp, Telegram & Signal   How Telegram End-to-end Encryption Works To Provide Security ?   Flubot Malware is Spreading Quickly Through Android Devices   WhatsApp End-to-End Encryption and its Privacy Importance - Alternatives,Signal & Telegram   What is Credit Card Skimming And How To Protect Yourself From it ?   Where to hire react programmer and 3 essential skills to look for   Top 8 Basic Google Search Dorks [Live Examples]   [Penetration Testing] Top 70 Most Interview Questions   Why VPN Is Necessary ? [Detailed Guide]   Top 10 Dangerous Viruses Of All Times   List Of Common HTTP Error Status Codes   “Hello World!” Program In Different Programming Languages   100 Basic Computer Related G.K. Questions   Email Security - Tips And Tricks   Fonts Hub Collection (Free Design Resources)   Top 8 Softwares Free Download - No Credit Card Needed [2022 Update]   Shortcomings That Leads An Entrepreneur Towards Failure   5 Basic Steps To Protect Your Personal Data Online   What is Intel SGX and What are the Benefits ?   15 Things You Need to Know About Maintaining The Logs   How to think like a programmer - lessons in problem solving   How To Get Voice Like Anonymous Voice   Life Story of Microsoft Founder Bill Gates - Documentary   Own Private Search Engine in Linux Will Save Our Privacy   Best Etcher alternatives to Create Bootable USB   Music For Programming - Coding Music / Hacking Music   School Management Software v3.1 Premium + Crack   JavaFX Chat Client/Server + Source Code   Top 25 Keyword Research Tools [Search Engine Optimization]   A Quick SEO Checklist - 2023 Update   Online Domain Authority (DA) Rank Checker Websites   33 Things In SEO For Which Google Will Give Your Student Blog High Positions   How to Close the Site from indexing using robots.txt   10 SEO Tools all Small Businesses Need in 2023   Earth Rise Application + Code   Animation along a path + Code   Zen Pong Game in Java Language + Code   Simple Flying Bird Game + Code Files   Game Snake Simple + Code Files   The Space 'Sun & Earth' | HTML,CSS,JavaScript   File System in Web (Explorer in Windows and Finder in OSX)   Admin Dashboard Template built using Bootstrap + Code   Website Template For Admin Dashboard + Code   Youtube Playlist Downloader Script   How To Create A Stopwatch In Python   Python TicTacToe with Tk and minimax AI   Deskreen turns any device with a web browser into a secondary screen for your computer   Download Algorithms Book | Dummies Store   OSI Model And TCP/IP Model   How to Fix SSH Failed Permission Denied (publickey,gssapi-keyex,gssapi-with-mic)   What Is Load Balancing? Definition and How It Works   How to Setup FTP Server on Your Raspberry Pi   Download Windows 10 Lite Edition x64 | Direct Link   How To Recover Permanently Deleted Files In Windows 10 ?   How to make Fake Error Message Script in Windows   20 Essential Windows keyboard Shortcuts that will make you forget your mouse   How To Fix The DLL Missing Error In Windows 7 ?   Create Hotspot on Windows 10 in 6 steps   Download Microsoft Office Professional Plus 2016   Download DriverPack Solution Offline | Full   How To Create Simple And Password Protected ZIP File in Linux   2 Ways To Save Terminal Output of a Command in Linux   6 Best Tools to Monitor Disk IO Performance in Linux   Top 15 Best Websites (Blogs) to Learn Linux Online   How to Delete files older than 30 Days in Linux   What is the difference between apt and apt-get command   Fail2Ban Installation & Setup: Ubuntu, CentOS, Fedora & Debian   How to List Running Processes in Linux   How to Use the who Command in Linux with Examples   FOREMOST - Recover Permanently Deleted Files Easily in Kali Linux   Funny Linux Commands to Try   Command line interface guidelines, to help you write better command-line programs ...   How to Install Google Chrome Web Browser on Ubuntu 20.04   Learn Adobe Photoshop | 33 Episode Course   Window Privilege Escalation: Automated Script   Linux Privilege Escalation: Automated Script   How To Retrieve & Decrypt Stored Passwords in Firefox & Chrome Remotely   ACLight: An Advanced Privileged Account Discovery Tool   How to change Lock Screen Background on Kali Linux XFCE   Best 20 Kali Linux Tools For Hacking And Penetration Testing   How to Run Windows Application and Games on Kali Linux   How to run C and C++ programs in Kali Linux   Control Kali Linux PC From any Mobile or Tablet   How to Enable root User Account in Kali Linux   How to Configure Static IP address in Kali Linux   Bash vs ZSH in Kali Linux   [Solved] E: Unable to locate package in Kali Linux   Hosting a Local Website with Domain Name on Kali Linux over WiFi   Install Docker in Kali Linux and Run Other OS   How to Install Kali Linux | A Total Guide to Install Kali Linux   NetHunter Rootless - Official Kali NetHunter for non rooted phones   How to set up own VPN server in 10 minutes on Kali Linux using OpenVPN   Configuring The ProxyChains   Install Python3 in Kali Linux   TempoMail - Command Line Temporary Email in Linux   NIPE - Fully Anonymize Total Kali Linux System   How to Install Google Chrome & Chromium on Kali Linux [Official Method]   15 Best Laptops For Kali Linux & Cyber Security - Check This Before Buy   Volatolity - Digial Forensic Testing of RAM on Kali Linux   Limit the Internet Speed of LAN Users [Evil Limiter]   Find Virtual Machine IP Through Kali Linux - 3 Methods   Privilege Escalation with PowerShell Empire and SETOOLKIT [Kali Linux]   How to use kill, pkill and killall Commands to Kill any Linux Process   20 Useful Tar Commands For Extraction and Compression   Create a Fake AP with DNSMASQ and HOSTAPD [Kali Linux]   How to Fully Anonymize Your Linux System with Tor using Nipe   Hack Windows/Linux using ARCANUS Framework – 100% FUD   Simple and Target Mac Flooding - Kali Linux   Get Free Kali Linux on AWS with Public IP - Real Time Penetration Testing   What’s the difference Between Tails and Tor browser?   Does Tor Hide you From Your ISP? Should I surf internet using Tor ?   Wireshark for Pentester: Decrypting RDP Traffic   Exploit Wi-Fi Vulnerabilities with Routersploit on Termux and Linux   Man in The Middle Attack & How To Prevent it   Masscan - 1000 Times Faster Than NMAP   Wireshark - Shark in Wires | Network Protocol Analyzer in Kali Linux   Wifite - Easy Automated Wireless Attack   WiFi-Pumpkin 3 - Dangerous Access Point   Evil Twin Attack with DNSMASQ - Wireless WPA2-PSK Cracking   Sniffing with Rogue Access Point [DNSMASQ and TCPFLOW]   Hack Wi-Fi Settings of Windows Machine Remotely [After Meterpreter]   Wi-Fi deauthentication attack against 802.11 protocol   Bypass Hidden SSID in a Wireless Network [Full Proof Method]   Crack WPA/WPA2-PSK using Aircrack-ng and Hashcat   Crack WPA2-PSK Wi-Fi with automated python script - FLUXION PART 1   Set Default Version of Python : [SOLVED] update-alternatives: error: no alternatives for p   Python Scripting: Information Gathering and Automating Ethical Hacking   15 Essential Meterpreter Commands Everyone Should Know   Find Vulnerable Webcams with Shodan [Metasploit Framework]   TCP & SYN Scanning with Metasploit Framework without NMAP   Meterpreter Useful Top 60 Commands List   The Web Application Hacker's Handbook 2   Hacking GPS Book   MadCam - Termux Hack Front camera by Sending link   How to Download Files In Termux   IPdrone Termux - Find Location of Person it IP in Termux   ReconDog Termux - Best Reconnaissance Tool For Termux   Termux SSH: Use Termux in Windows Using SSH Server   How to Install and Use Fsociety-Tool In Termux   Termux-YTD : Download Youtube Videos with Termux   Use CMatrix Package Like a Pro   L3MON - Access Android Devices Remotely   Hack Android using Metasploit over LAN/WAN   Ghost Framework - Control Android Devices Remotely   Top 10 Vulnerable Android Applications [Penetration Testing]   Find Hidden Subdomains on Any Website with Subfinder   Blind Sql Injection with Regular Expressions Attack   Useful Google Dorks For Bug Bounty Hunters   HTML5 Security CheatSheet - What your browser does when you look away...   30,000 Sites Is In RISK, The Plus Addons For Elementor WordPress Plugin Hacked   WPScan - Find Vulnerabilities in WordPress Websites on Kali Linux   Wapiti - Automated Vulnerability Scanner   Generate 100% FUD Backdoor with TheFatRat - Windows 10 Exploitation   TheFatRat hacking tool to create undetectable backdoors   How to Make a Keylogger in Python + Code   How to create a keylogger in PowerShell ?   Backdoor Program using Python (Remote Access Explain)   Man in the Middle Attack with Websploit Framework   Hack Windows 10 Remotely over WAN with Metasploit [No Port Forwarding]   15 Powerful Gadgets For Ethical Hackers | Hardware Tools for Hackers   Find Vulnerabilities using NMAP Scripts (NSE)   Free Vulnerability Database And Resources   Firefox Browser Vulnerable to (MITM) Man-in-the-Middle Attack   Find Vulnerabilities in Military Networks By Participating Hack The Army Bug Bounty Progr. 


Each application you use or a command you run on your Linux system creates a process or task. As a system administrator, you will need to manage processes to ensure optimal system performance.

In this tutorial, we will cover different Linux commands you can use to list and manage currently running processes.


  • A system running Linux
  • An account with root or sudo privileges
  • Access to the terminal window/command line
Processes in Linux
Processes in Linux start every time you launch an application or run a command. While each command creates one process, applications create and run multiple processes for different tasks.

By default, each new process starts as a foreground process. This means it must finish before a new process can begin. Running processes in the background allows you to perform other tasks at the same time.

List Running Processes in Linux
To list currently running processes, use the ps, top, htop, and atop Linux commands. You can also combine the ps command with the pgrep command to identify individual processes.

List Running Processes in Linux by Using the ps Command
The ps Linux command creates a snapshot of currently running processes. Unlike the other commands on this list, ps presents the output as a static list, not updated in real time.

The ps command uses the following syntax:
ps [options]

Frequently used ps command options include:
  • a: List all ruining processes for all users.
  • -A, -e: List all processes on the system.
  • -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: List all processes except session leaders.
  • --deselect, -N: List all processes except those that fulfill a user-defined condition.
  • f: Displays process hierarchy as ASCII art.
  • -j: Displays output in the jobs format.
  • T: List all processes associated with this terminal.
  • r: Only list running processes.
  • u: Expand the output to include additional information, for example, CPU and memory usage.
  • -u: Define a user whose processes you want to list.
  • x: Include processes without a TTY.

Note: Check the complete list of ps command options by using man ps.

Running the ps command without any options produces an output similar to:


The default output includes the following categories:
  • PID: Process identification number.
  • TTY: The type of terminal the process is running on.
  • TIME: Total amount of CPU usage.
  • CMD: The name of the command that started the process.
Using the combination of a, u, and x options results in a more detailed output:
ps aux


The new categories of the expanded output include:
  • USER: The name of the user running the process.
  • %CPU: The CPU usage percentage.
  • %MEM: The memory usage percentage.
  • VSZ: Total virtual memory used by the process, in kilobytes.
  • RSS: Resident set size, the portion of RAM occupied by the process.
  • STAT: The current process state.
  • START: The time the process was started.
To display the running processes in a hierarchical view, enter:
ps -axjf


Note: When using more than one ps command option containing a dash symbol ("-"), you only need to use one dash symbol before listing the options. For instance, to use the ps command with the -e and -f options, type ps -ef.

Filter the list of processes by user with:
ps -U [real user ID or name] -u [effective user ID or name] u

For example, showing a list of processes started by the user called phoenixnap:
ps -U phoenixnap -u phoenixnap u


List Running Processes in Linux by Using the top Command
The top command displays the list of running processes in the order of decreasing CPU usage. This means that the most resource-heavy processes appear at the top of the list:


The output of the top command updates in real time, with the three-second default refresh rate. The top command output contains the following categories:
  • PID: Process identification number.
  • USER: The name of the user running the process.
  • PR: The scheduling priority for the process.
  • NI: The nice value of the process, with negative numbers indicating higher priority.
  • VIRT: The virtual memory amount used by the process.
  • RES: The resident (physical) memory amount used by the process.
  • SHR: The total shared memory used by the process.
  • S: The status of the process - R (running) or S (sleeping).
  • %CPU: The percentage of CPU usage.
  • %MEM: The memory usage percentage.
  • TIME+: Total CPU usage amount.
  • COMMAND: The name of the command that started the process.
While the top command is running, use the following options to interact with it or change the output format:
  • c: Display the absolute process path.
  • d: Change the output refresh rate to a user-defined value (in seconds).
  • h: Display the help window.
  • k: Kill a process by providing the PID.
  • M: Sort the list by memory usage.
  • N: Sort the list by PID.
  • r: Change the nice value (priority) of a process by providing the PID.
  • z: Change the output color to highlight running processes.
  • q: Quit the command interface.
Note: Options for interacting with the top command are case-sensitive. Make sure you turn the Caps Lock off first.

List Running Processes in Linux by Using the htop Command
The htop command offers the same output as the top command but in an easier-to-understand and user-friendly way.

Since most Linux distributions don't include this command, install it with:
sudo apt install htop

Using the htop command provides the following output:


Use the following keys to interact with the htop command:
  • Directional keys: Scroll the process list vertically and horizontally.
  • F1: Open the help window.
  • F2: Open the htop command setup.
  • F3: Search for a process by typing the name.
  • F4: Filter the process list by name.
  • F5: Switch between showing the process hierarchy as a sorted list or a tree.
  • F6: Sort processes by columns.
  • F7: Decrease the nice value (increase priority) of a process.
  • F8: Increase the nice value (decrease priority) of a process.
  • F9: Kill the selected process.
  • F10: Exit the command interface.
List Running Processes in Linux by Using the atop Command
The atop command provides a more comprehensive overview of the running processes compared to the top command. Start by installing the atop command with:
sudo apt install atop

The atop command creates an output similar to:


The heading section of the command output provides an overview of system resources, including process and performance-related statistics and memory, disk, and network usage.
The lower section lists currently running processes and contains the following categories:
  • PID: Process identification number.
  • SYSCPU: The CPU usage by the process while system handling.
  • USRCPU: The CPU usage by the process while running in user mode.
  • VGROW: The amount of virtual memory the process has occupied since the last output update.
  • RGROW: The amount of physical memory the process has occupied since the last output update.
  • RUID: The real user ID of the user that started the process.
  • ST: The current process status.
  • EXC: The exit code after the process terminates.
  • THR: The number of threads the process is using.
  • S: The current status of the primary thread of the process.
  • CPUNR: The number of CPUs used by the process.
  • CPU: The CPU percentage used by the process.
  • CMD: The name of the command that started the process.
Using the atop command with the following options changes the output format:
  • -a: Show active processes only.
  • -c: Show command line per process.
  • -d: Show disk information.
  • -l: Show total values as average-per-second.
  • -m: Show memory information.
  • -n: Show network information.
  • -s: Show process scheduling information.
  • -v: Show the verbose output.
  • -y: Show individual threads.
Use the following flags to interact with the atop command:
  • a: Sort by most active resources.
  • c: Sort by CPU consumption.
  • d: Sort by disk activity.
  • m: Sort by memory usage.
  • n: Sort by network activity.
Find Process IDs Using the pgrep Command
Using the pgrep command allows you to search for a specific process. The pgrep command uses the following syntax:
pgrep [process name]

For instance, use the following command to search for the firefox process:
pgrep firefox

The command output lists the PID of the process:


Using this PID with the ps command allows you to get more information on the process. In this example, using the PID 1439 provides information on the firefox process:
ps -e | grep 1439


After reading this tutorial, you should be able to use the ps, top, htop, and atop commands to list and manage running processes in Linux.