文章目录
- 介绍
- 常用选项
- 命令示例
介绍
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 ~]#