在 Linux 中,查看某个进程的子进程有多种常用方法,下面按从简单到专业的方式给你总结。
pstree(最直观 ✅)pstree -p 父进程PID
示例:
pstree -p 1234
输出类似:
bash(1234)───python(1240)───{python}(1241)
✅ 优点:
ps 查看子进程ps --ppid 父进程PID
示例:
ps --ppid 1234
只看 PID:
ps -o pid --ppid 1234
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 / htoptoptop
f → 打开字段PPIDPPID 排序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` | ⚠️ |
如果你愿意,可以告诉我:
我可以给你更针对性的命令示例。