How to Find Process ID (PID) in Linux

Each running process in Linux is assigned a unique Process ID (PID). Knowing the PID is useful for monitoring, managing, and terminating processes. In this guide, we will explore multiple ways to find the PID of a process in Linux.

Note: A PID is a unique number assigned to each running process by the system.

1. Using the pidof Command

The pidof command is a simple way to find the PID of a running process.

pidof process_name

Example:

pidof firefox

2. Using the pgrep Command

The pgrep command finds the PID of a process by name.

pgrep process_name

Example:

pgrep nginx
Note: The pgrep command can return multiple PIDs if multiple instances of the process are running.

3. Using the ps Command

The ps command lists active processes along with their PIDs.

Find a specific process:

ps -aux | grep process_name

Example:

ps -aux | grep apache2
Warning: The grep command may return its own process. Use grep -v grep to exclude it.

4. Using the /proc Directory

The /proc directory contains information about all running processes.

Find a PID by process name:

cat /proc/*/cmdline | grep process_name

Find the PID of the current shell:

echo $$

5. Using the top and htop Commands

Using top

The top command displays real-time process information, including PIDs.

top

Using htop (More User-Friendly)

Install htop if not already installed:

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

Run htop to see an interactive list of processes:

htop

6. Frequently Asked Questions (FAQ)

Q: How do I find the PID of my current session?

A: Use:

echo $$

Q: How do I find the PID of a process listening on a specific port?

A: Use:

sudo netstat -tulnp | grep :port_number

or

sudo lsof -i :port_number

Q: How do I kill a process using its PID?

A: Use:

kill PID

For force termination:

kill -9 PID

7. Conclusion

Finding a process ID in Linux can be done using commands like pidof, pgrep, ps, and top. Understanding how to locate and manage processes is essential for troubleshooting and system administration.