在 Debian(以及大多数 Linux 系统)中,查看进程 PID 有多种常用方法,下面按使用场景给你总结一下:
ps 命令(最常用)ps -ef
或
ps aux
示例输出:
root 1234 1 0 10:00 ? 00:00:01 /usr/bin/nginx
其中 1234 就是 PID。
ps -ef | grep nginx
或
ps aux | grep nginx
⚠️ 注意:你自己执行的 grep 也会显示出来,可忽略。
pidof(最简单)pidof nginx
输出示例:
1234 1235
适合已知进程名的场景。
pgrep(推荐)pgrep nginx
只输出 PID,非常适合脚本使用。
✅ 精确匹配进程名:
pgrep -x nginx
/proc 目录查看ls /proc | grep '^[0-9]'
每个数字目录就是一个 PID。
查看某个 PID 的详细信息:
cat /proc/1234/status
top 或 htop(交互式)toptop
q 退出htop(更友好,需安装)sudo apt install htop
htop
sssudo ss -lntp
netstat(老工具)sudo netstat -lntp
示例:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx
systemctl status nginx
输出中会有:
Main PID: 1234 (nginx)
| 场景 | 推荐命令 |
|---|---|
| 已知进程名 | pidof 进程名 |
| 脚本/精确查找 | pgrep -x 进程名 |
| 查看所有进程 | ps aux |
| 交互式查看 | htop |
| 查看端口对应 PID | ss -lntp |
如果你有具体进程名或端口,我可以直接帮你给出最合适的一条命令。