Skip to main content

Command Palette

Search for a command to run...

How to Check Linux Process

Published
5 min readView as Markdown

Checking Linux processes is a fundamental skill for anyone working with Linux systems. Whether you’re a beginner or an experienced user, knowing how to view and manage running processes helps you keep your system healthy and responsive. In this article, I’ll guide you through the most common and effective ways to check Linux processes.

You’ll learn how to use built-in commands and tools to monitor processes, understand what they do, and troubleshoot issues. By the end, you’ll feel confident managing processes on your Linux machine.

What Is a Linux Process?

A Linux process is simply a program or task that is currently running on your system. Every time you open an application or run a command, Linux creates a process to handle it. These processes have unique IDs called PIDs (Process IDs) and use system resources like CPU and memory.

Processes can be in different states such as running, sleeping, or stopped. Understanding these states helps you identify if a process is working correctly or if it’s causing problems.

Why Checking Processes Matters

  • System Performance: Identify processes using too much CPU or memory.
  • Troubleshooting: Find stuck or unresponsive programs.
  • Security: Detect unauthorized or suspicious processes.
  • Resource Management: Decide which processes to stop or restart.

Basic Commands to Check Linux Processes

Linux offers several commands to view running processes. Here are the most common ones you should know.

1. The ps Command

The ps command displays a snapshot of current processes. It’s simple and fast.

  • ps shows processes running in the current shell.
  • ps aux lists all processes for all users with detailed info.
  • ps -ef shows processes in a full-format listing.

Example:

ps aux | grep firefox

This command lists all processes and filters for Firefox.

2. The top Command

top is an interactive tool that updates process info in real-time.

  • Shows CPU and memory usage.
  • Lists processes sorted by resource consumption.
  • Allows you to kill or renice processes directly.

Run it by typing:

top

Press q to quit.

3. The htop Command

htop is an enhanced version of top with a user-friendly interface.

  • Color-coded display.
  • Easy navigation with arrow keys.
  • Shows process tree and detailed stats.

Install it with:

sudo apt install htop  # Debian/Ubuntu
sudo yum install htop  # CentOS/RHEL

Run with:

htop

4. The pidof Command

Use pidof to find the PID of a running program.

Example:

pidof sshd

This returns the PID(s) of the SSH daemon.

5. The pgrep Command

pgrep searches for processes by name or other attributes.

Example:

pgrep -u username

Lists all processes owned by a specific user.

Understanding Process Information

When you check processes, you’ll see columns like PID, USER, %CPU, %MEM, and COMMAND. Here’s what they mean:

  • PID: Unique process ID.
  • USER: Owner of the process.
  • %CPU: CPU usage percentage.
  • %MEM: Memory usage percentage.
  • COMMAND: The command that started the process.

Knowing these helps you decide which processes need attention.

How to Check Process Status and Details

Sometimes, you need more than just a list. You want to know the status or details of a specific process.

Using ps with Options

You can customize ps output:

ps -p <PID> -o pid,ppid,cmd,%mem,%cpu,stat
  • ppid: Parent process ID.
  • stat: Process state (e.g., R for running, S for sleeping).

Using /proc Filesystem

Linux stores process info in /proc. For example:

cat /proc/<PID>/status

Shows detailed info about the process.

Using lsof to Check Open Files

Processes open files and network connections. Use:

lsof -p <PID>

Lists all files opened by the process.

Monitoring Processes Over Time

To track processes continuously, you can use:

  • top or htop for live monitoring.
  • watch command to repeat a command every few seconds.

Example:

watch -n 5 'ps aux | grep apache2'

Runs the command every 5 seconds.

Managing Processes After Checking

Once you identify processes, you might want to manage them.

Killing a Process

Use kill with the PID:

kill <PID>

For stubborn processes, use:

kill -9 <PID>

Renicing a Process

Change process priority with renice:

renice +10 <PID>

Lower priority means less CPU time.

Stopping and Restarting Services

Use systemctl for services:

sudo systemctl stop apache2
sudo systemctl start apache2

Checking Processes with Graphical Tools

If you prefer GUI, Linux offers tools like:

  • System Monitor (GNOME)
  • KSysGuard (KDE)

These provide easy ways to view and manage processes visually.

Tips for Efficient Process Checking

  • Use ps aux --sort=-%cpu to find top CPU users.
  • Combine ps and grep to filter processes.
  • Use htop for quick navigation and management.
  • Regularly monitor critical services.
  • Automate checks with scripts for large systems.

Conclusion

Checking Linux processes is essential for maintaining a healthy system. You can use simple commands like ps, top, and htop to see what’s running and how resources are used. Understanding process details helps you troubleshoot and optimize performance.

By mastering these tools, you’ll be able to quickly identify issues and manage your Linux system effectively. Whether you prefer command-line or graphical tools, the key is to stay informed about what your system is doing at all times.

FAQs

How do I find the PID of a process in Linux?

Use pidof <process_name> or pgrep <process_name> to find the PID of a running process quickly.

What does the STAT column in ps output mean?

STAT shows the process state, like R (running), S (sleeping), Z (zombie), or T (stopped).

How can I monitor processes in real-time?

Use top or htop to see live updates of processes and resource usage.

Can I check which files a process has open?

Yes, use lsof -p <PID> to list all files and network connections opened by a process.

How do I stop a process that won’t quit normally?

Use kill -9 <PID> to forcefully terminate a stubborn process.

More from this blog

L

LinuxBloke | Linux Tips, Tricks & Troubleshooting

672 posts