Operation and Maintenance
Linux Operation and Maintenance
How to find a process ID (PID) by name in Linux
How to find a process ID (PID) by name in Linux
To find a PID by name in Linux, use pgrep, pidof, or ps with grep. 1. pgrep process_name returns the PID directly and is recommended; add -i for case-insensitive search. 2. pidof process_name retrieves PIDs by executable name, useful when multiple instances run. 3. ps aux | grep process_name lists processes; extract PID from the first column, ignoring the grep line. These methods work without root unless accessing protected processes, with pgrep being the cleanest choice on most systems.

To find a process ID (PID) by name in Linux, you can use several command-line tools. The most common and effective methods are using pgrep, pidof, or combining ps with grep. Here's how each method works.
Using pgrep (Recommended)
The pgrep command searches for running processes by name and returns their PIDs.Syntax:
pgrep process_name
Example:
To find the PID of a process named "nginx":
pgrep nginx
You can also make the search case-insensitive with the -i flag:
pgrep -i firefox
Using pidof
The pidof command retrieves PIDs of processes based on their executable name.Syntax:
pidof process_name
Example:
pidof chrome
This command may return multiple PIDs if multiple instances are running. It relies on the binary name, so ensure you're using the correct one.
Using ps and grep
If pgrep or pidof aren't available, you can combine ps with grep.Command:
ps aux | grep process_name
Example:
ps aux | grep sshd
The first column shows the PID. Be aware that grep itself may appear in the results — just ignore the line containing the grep command.
Tips and Notes
- Use exact process names — they usually match the executable file.
- Some processes may have similar names; check the full command line with ps -fp $(pgrep process_name) for clarity.
- Running these commands doesn’t require root privileges unless inspecting system-protected processes.
Finding a PID by name is straightforward once you know the right tools. pgrep is usually the cleanest option. Basically, pick the method that fits your system and preference. Most systems have all three available.
The above is the detailed content of How to find a process ID (PID) by name in Linux. For more information, please follow other related articles on the PHP Chinese website!
Hot AI Tools
Undress AI Tool
Undress images for free
AI Clothes Remover
Online AI tool for removing clothes from photos.
Undresser.AI Undress
AI-powered app for creating realistic nude photos
ArtGPT
AI image generator for creative art from text prompts.
Stock Market GPT
AI powered investment research for smarter decisions
Hot Article
Popular tool
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
Hot Topics
20518
7
13631
4
How to install Redis cluster on Linux_Linux distributed cache deployment solution [Advanced]
Feb 08, 2026 pm 07:39 PM
The Redis6 cluster must be created with redis-cli--cluster. It requires a minimum of 3 masters and 3 slaves, a total of 6 nodes. The client port and the corresponding cluster bus port (10000) must be opened. Correct configuration but blocked ports is a common cause of failure.
How to import SQL files in mysql_mysql SQL file import method
Feb 09, 2026 pm 05:24 PM
The most common and reliable way to import SQL files into MySQL is the command line tool mysql, which supports cross-platform, high efficiency and stability, and is suitable for files of all sizes. It can also be executed in the client through the source command, or using graphical tools such as phpMyAdmin and MySQL Workbench.
How to check the MAC address of the network card in Linux_Linux obtains the physical network card information [Notes]
Feb 08, 2026 pm 08:25 PM
The most reliable way is to use the iplinkshow command, because it is compatible with old and new kernels, has clear output, and does not confuse virtual interfaces; the MAC address is located after the link/ether line and can be accurately extracted with grep.
How to check system vulnerabilities in Linux_Linux installation and use of security scanning tools [Plan]
Feb 08, 2026 pm 08:22 PM
Linux systems need to use third-party tools for security scanning; lynis is suitable for lightweight local auditing, openvas must be deployed with Docker, nmap and nessus cannot be automatically connected, and the effectiveness of scanning depends on credentials, settings and feed updates.
How to diagnose mysql query performance bottleneck_mysql performance analysis method
Feb 08, 2026 am 09:45 AM
Slow query optimization requires four layers of troubleshooting: "Log → Execution Plan → System Indicators → Configure Hardware": first open slow_query_log to capture queries that exceed 1 second; then use EXPLAIN to analyze type, key, rows and Extra; then check sar, buffer pool hit rate, lock wait and number of connections; finally examine innodb_flush_method, redolog size, large field storage and network architecture.
How to check the kernel version in Linux_Linux query system kernel uname command [Basic]
Feb 08, 2026 pm 07:48 PM
uname-r is the most accurate and quick way to obtain the current kernel version number. It only outputs the release field such as 6.1.0-22-amd64, without redundant information, which is convenient for script parsing; other commands such as uname-v, uname-a or /proc/version have their own uses but are not specifically used for version extraction.
How to install the GCC compiler on Linux_Essential environment for Linux source code compilation [Tutorial]
Feb 08, 2026 pm 08:28 PM
Using sudoaptinstallbuild-essential is the fastest under Ubuntu/Debian. It automatically installs gcc, g, make, libc6-dev, etc.; only installing gcc will report an error that stdio.h does not exist due to a missing header file.
Ultimate solution to ZAP installation failure: Why you must install JDK and not just JRE
Feb 08, 2026 am 11:15 AM
When ZAP (ZedAttackProxy) is installed, it prompts "Java 64-bit file not found." The root cause is not that Java is not installed, but that the JRE that only contains the running environment is mistakenly installed; ZAP actually relies on JDK11 (such as JDK21) because it requires the use of development components such as compilers and debugging tools.





