文章目录
- 介绍
- 常用选项
- 命令示例
介绍
Linux 系统中 pstree 命令的英文全称是“process tree”,即将所有进程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本进程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的进程。
以树状图的方式展现进程之间的派生关系,显示效果比较直观。
语法格式:pstree [选项]
常用选项
选项 | 说明 |
---|---|
-a | 显示每个程序的完整指令,包含路径,参数或是常驻服务的标示 |
-c | 不使用精简标示法 |
-G | 使用VT100终端机的列绘图字符 |
-h | 列出树状图时,特别标明现在执行的程序 |
-H<程序识别码> | 此参数的效果和指定"-h"参数类似,但特别标明指定的程序 |
-l | 采用长列格式显示树状图 |
-n | 用程序识别码排序。预设是以程序名称来排序 |
-p | 显示程序识别码 |
-u | 显示用户名称 |
-U | 使用UTF-8列绘图字符 |
-V | 显示版本信息 |
命令示例
示例 1,按树状形式显示所有进程的名称和进程 ID:
[root@htlwk0001host ~]# pstree -p
systemd(1)─┬─AliYunDun(785225)─┬─{AliYunDun}(785226)│ ├─{AliYunDun}(785227)│ ├─{AliYunDun}(785238)│ ├─{AliYunDun}(785239)│ ├─{AliYunDun}(785240)│ ├─{AliYunDun}(785241)│ ├─{AliYunDun}(785242)│ ├─{AliYunDun}(785243)│ ├─{AliYunDun}(785244)│ ├─{AliYunDun}(785245)│ ├─{AliYunDun}(785246)│ ├─{AliYunDun}(785247)│ ├─{AliYunDun}(785248)│ ├─{AliYunDun}(785249)│ ├─{AliYunDun}(785250)│ ├─{AliYunDun}(785251)│ ├─{AliYunDun}(785253)│ ├─{AliYunDun}(785254)│ ├─{AliYunDun}(785255)│ ├─{AliYunDun}(785256)│ ├─{AliYunDun}(785257)│ ├─{AliYunDun}(785258)│ ├─{AliYunDun}(827743)│ └─{AliYunDun}(828521)├─AliYunDunUpdate(562631)─┬─{AliYunDunUpdate}(562632)│ ├─{AliYunDunUpdate}(562633)│ └─{AliYunDunUpdate}(562637)
示例 2,按树状形式来显示所有进程的详细信息,且遇到相同的进程名可以压缩显示:
[root@htlwk0001host ~]# pstree -a
systemd --switched-root --system --deserialize 17├─AliYunDun│ └─24*[{AliYunDun}]├─AliYunDunUpdate│ └─3*[{AliYunDunUpdate}]├─NetworkManager --no-daemon│ └─2*[{NetworkManager}]├─agetty -o -p -- \\u --keep-baud 115200,38400,9600 ttyS0 vt220├─agetty -o -p -- \\u --noclear tty6 linux├─agetty -o -p -- \\u --noclear tty5 linux
示例 3,获取 SSH 会话的 PID:
[root@htlwk0001host ~]# pstree -p | grep ssh|-sshd(593456)-+-sshd(828662)---sshd(828664)---bash(828665)-+-grep(829080)| `-sshd(828752)---sshd(828754)---sftp-server(828755)
[root@htlwk0001host ~]#