温馨提示×

linux进程如何查看父进程

小樊
36
2026-07-10 06:35:01
栏目: 智能运维

在 Linux 中,查看**某个进程的父进程(PPID)**有多种常用方法,下面按使用场景给你总结一下。


一、使用 ps 命令(最常用)

1️⃣ 查看指定进程的父进程

ps -o pid,ppid,cmd -p <进程PID>

示例:

ps -o pid,ppid,cmd -p 1234

输出示例:

  PID  PPID CMD
 1234  1001 /usr/bin/nginx

PPID 就是父进程 ID


2️⃣ 查看当前 shell 的父进程

ps -o pid,ppid,cmd -p $$

3️⃣ 查看所有进程的 PID 和 PPID

ps -ef

或:

ps aux

示例:

ps -ef | grep nginx

二、使用 /proc 文件系统(最底层)

每个进程在 /proc 下都有一个目录:

cat /proc/<PID>/status | grep PPid

示例:

cat /proc/1234/status | grep PPid

输出:

PPid:   1001

✅ 非常适合脚本或调试


三、使用 pstree(查看进程树)

1️⃣ 查看进程树

pstree

2️⃣ 查看指定进程及其父进程

pstree -p <PID>

示例:

pstree -p 1234

四、使用 top / htop

top

top

然后按:

  • f → 选择 PPID → 回车

htop(推荐)

htop
  • 默认就显示 PPID
  • 如果没有,按 F2 → 开启 PPID 列

五、查看父进程对应的程序

知道 PPID 后,可以反查父进程:

ps -p <PPID> -o pid,cmd

六、常见场景示例

查看某个服务的父进程

ps -o pid,ppid,cmd -p $(pgrep nginx)

判断进程是否被 systemd 启动

ps -o pid,ppid,cmd -p <PID>

如果 PPID 是 1,通常是 systemd / init


总结(最常用)

需求 命令
查看父进程 ps -o pid,ppid,cmd -p PID
查看进程树 pstree -p PID
底层查看 cat /proc/PID/status | grep PPid
交互式 htop

如果你有具体进程名或场景(如 Docker、systemd、僵尸进程),我可以给你更针对性的命令。

0