# pstree.md

以树状图的方式展现进程之间的派生关系

## 补充说明

**pstree命令** 以树状图的方式展现进程之间的派生关系，显示效果比较直观。

### 语法

```
pstree(选项)
```

### 选项

```
-a：显示每个程序的完整指令，包含路径，参数或是常驻服务的标示；
-c：不使用精简标示法；
-G：使用VT100终端机的列绘图字符；
-h：列出树状图时，特别标明现在执行的程序；
-H<程序识别码>：此参数的效果和指定"-h"参数类似，但特别标明指定的程序；
-l：采用长列格式显示树状图；
-n：用程序识别码排序。预设是以程序名称来排序；
-p：显示程序识别码；
-u：显示用户名称；
-U：使用UTF-8列绘图字符；
-V：显示版本信息。
```

### 实例

显示当前所有进程的进程号和进程id

```
pstree -p
```

显示所有进程的所有详细信息，遇到相同的进程名可以压缩显示。

```bash
pstree  -a
```

获取 SSH 会话的 PID

```
pstree -p | grep ssh

#  |-sshd(1221)-+-sshd(2768)---bash(2770)-+-grep(2810)
#  |            `-sshd(2807)---sshd(2808)
```

从上方的输出中，你可以看到 sshd 进程与分支的树形图。sshd 的主进程是 sshd（1221），另两个分支分别为 sshd（2768） 和 sshd（2807）。
