pstree是以树状图直观展示进程父子关系的专用命令,默认以systemd(1)为根,支持-p显示PID、-s追溯父链、-u标注用户,比ps更高效准确。

Linux怎么查看具体的进程父子关系

直接用 pstree,别先跑 ps 再手动拼 PPID —— 那是把家谱拆成散页再一张张对,效率低还容易漏。

用 pstree -p 看 PID 和父子层级

默认 pstree 只显示进程名和缩进,但实际调试时你得知道哪个是哪个 PID。加 -p 是刚需:

用 pstree -s 追溯单个进程的父链

如果已经拿到了某个可疑进程的 PID(比如通过 ps aux | grep xxx 查到的 5678),接下来想尽快判断它究竟是由某个服务拉起的,还是只是被临时脚本 spawn 出来的,这时候直接用 -s 就够了:

用 pstree -u 和用户名过滤缩小范围

多用户环境(比如共享服务器、CI runner)下,光看进程名没用,nginx 可能是 root 启的,也可能是 www-data 启的。加 -u 能立刻区分归属:

别依赖 ps -ef --forest 当主力工具

ps -ef --forest 确实也能画树,但它本质还是表格,靠 ASCII 符号模拟缩进,一屏超过 20 行就容易看串行;而且默认不带 PID、不标用户,要补参数才勉强可用:

真正棘手的,从来不是命令本身怎么输入,而是拿到树形输出之后,顺手就把方括号里的线程忽略了,把 containerd 当成普通进程看,或者直接认定 PPID=1 就一定是 init 直接拉起——这些细节一旦没盯紧,父子关系基本就等于白看。

本文转载于:https://www.php.cn/faq/2977968.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。