pstree 命令以树状结构显示 linux 进程父子关系,默认以 init/systemd 为根,支持按用户查看(如 pstree john)、显示 pid/uid(-up)、完整系统树(sudo pstree)、命令行参数(-a)、禁用折叠(-c)、进程组(-g)及祖先路径(-s)。

pstree 命令在 Linux 中用于以树状结构直观显示进程的父子关系,比 ps 更清晰地反映进程层级和会话归属。默认以 init(或 systemd)为根节点展开,所有子进程按所属用户或系统范围组织。
基础用法:查看当前用户的进程树
直接运行 pstree 会以当前登录用户为起点,显示其所有进程组成的树:
pstree
```
这会折叠相同名称的进程(如多个 bash 显示为 bash───vim),并用连线表示父子关系。
按指定用户查看进程树
添加用户名参数可聚焦某用户的全部进程:
```bashpstree john
```
若想包含用户 ID 和进程号,加 -u 和 -p 选项:
pstree -up john
```
输出类似:john(1234)───bash(1235)───vim(1240),便于定位具体进程。
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
显示完整系统进程树(需权限)
要看到所有用户(包括 root 和守护进程)的完整树,需 sudo 权限:
```bashsudo pstree
```
常用组合增强可读性:
-
sudo pstree -a:显示每个进程的完整启动命令行参数 -
sudo pstree -c:禁用进程名合并(避免同名进程被折叠) -
sudo pstree -g:显示进程组 ID(PGID)
过滤与高亮特定进程
结合 -s(显示指定进程的祖先)或 -t(显示线程)可深入分析:
pstree -s nginx
```
输出从 init 到 nginx 及其父进程的路径,适合排查服务启动链。若配合 grep 快速定位:
pstree | grep -A5 -B5 "sshd"
```
注意:管道后 pstree 不再自动着色,如需颜色可加 --color=always(部分发行版支持)。










