pstree
是一个在类 Unix 系统中广泛使用的命令行工具,主要用于以树状结构可视化当前系统中进程之间的关系。这个命令显示的是进程间的父子关系,从一个初始进程(通常是 init 或 systemd)开始,逐级展示每个进程及其子进程。
pstree
的基本语法如下:
1pstree [options] [pid | user]
-
options
:可选参数,用来定制输出格式,例如:-p
:显示每个进程的进程 ID(PID)。-u
:显示每个进程所属的用户名。-a
:显示每个进程完整的命令行参数。-n
:禁用括号内的进程计数,不合并相同的子进程。-h
:人性化显示,以 K/M/G 为单位显示进程占用的内存大小(如果可用)。-t
:添加制表符分隔符,方便后续的文本处理。
-
pid
:可选参数,指定要显示的进程及其子树。如果不指定,显示的是整个系统的进程树,从 init 或 systemd 开始。 -
user
:可选参数,显示指定用户的所有进程树。
举例说明:
1pstree -p -u
这个命令会输出当前系统中进程树的图形表示,并在每个节点旁边显示进程的PID和所属用户名。
1pstree -p 1234
这个命令则会输出PID为1234的进程及其所有子进程的树状结构,并显示每个进程的PID。
示例输出:
1systemd─┬─ModemManager───2*[{ModemManager}]
2 ├─NetworkManager───2*[{NetworkManager}]
3 ├─S99ultrasec───check───ultrasec_daemon───7*[{ultrasec_daemon}]
4 ├─accounts-daemon───2*[{accounts-daemon}]
5 ├─acpid
6 ...
在输出中,─
表示父子关系,┬
和 ├
表示分支节点,*[{process}]
表示有多个相同名称的子进程实例。
另外可以查看特定进程情况,使用:pstree -p 进程号