温馨提示×

linux进程如何查看子进程

小樊
40
2026-07-10 06:35:51
栏目: 智能运维

在 Linux 中,查看某个进程的子进程有多种常用方法,下面按从简单到专业的方式给你总结。


一、用 pstree(最直观 ✅)

pstree -p 父进程PID

示例:

pstree -p 1234

输出类似:

bash(1234)───python(1240)───{python}(1241)

✅ 优点:

  • 直接显示父子关系
  • 支持树状结构
  • 适合快速查看

二、用 ps 查看子进程

1️⃣ 查看某个进程的子进程

ps --ppid 父进程PID

示例:

ps --ppid 1234

只看 PID:

ps -o pid --ppid 1234

2️⃣ 查看进程及其子进程(常用)

ps -ef | grep 父进程名

或更精确:

ps -ef | awk '$3 == 1234 {print}'

说明:

  • ps -ef 中第 3 列是 PPID(父进程 ID)

三、用 /proc 文件系统(底层方式)

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

ls /proc/父进程PID/task/

查看子进程:

cat /proc/父进程PID/status | grep Threads

更直接的方法(推荐):

ls /proc/*/status 2>/dev/null | \
xargs grep -l "PPid:\s*1234"

四、查看进程树(全局)

pstree

或只显示 PID:

pstree -p

五、使用 top / htop

top

top
  • f → 打开字段
  • 勾选 PPID
  • PPID 排序

htop(推荐)

htop
  • F5 进入树形视图
  • 直观看到父子进程关系

六、示例:完整流程

# 1. 查找进程 PID
pidof bash
1234

# 2. 查看子进程
ps --ppid 1234

# 3. 树状查看
pstree -p 1234

七、总结对比

方法 是否推荐 说明
pstree -p PID ✅✅✅ 最直观
ps --ppid PID ✅✅ 精确
/proc 底层
htop ✅✅✅ 交互式
`ps -ef grep` ⚠️

如果你愿意,可以告诉我:

  • 查看某个服务(如 nginx / java / docker)
  • 还是 调试进程异常
  • 容器里的进程

我可以给你更针对性的命令示例。

0