2. pstree 命令

pstree 命令以树状结构直观显示系统中的进程层级关系,清晰展示父子进程的依赖关系。

命令格式

pstree [选项] [用户名]

不给出 用户名 默认显示所有进程。

示例1

显示所有进程的进程树

weimingze@mzstudio:~$ pstree
systemd─┬─ModemManager───3*[{ModemManager}]
        ├─NetworkManager───3*[{NetworkManager}]
        ├─at-spi-bus-laun─┬─dbus-daemon
                         └─4*[{at-spi-bus-laun}]
        ├─at-spi2-registr───3*[{at-spi2-registr}]
        ├─sshd───sshd───sshd───bash───pstree
        ├─systemd─┬─(sd-pam)
                 ├─dbus-daemon
                 ├─2*[pipewire───2*[{pipewire}]]
                 ├─pipewire-pulse───2*[{pipewire-pulse}]
                 ├─wireplumber───5*[{wireplumber}]
                 ├─xdg-document-po─┬─fusermount3
                                  └─6*[{xdg-document-po}]
                 └─xdg-permission-───3*[{xdg-permission-}]
        ├─systemd-journal
        ├─systemd-logind
        ...

常用选项

选项
说明
-p
显示 PID(进程ID)。
-u
显示用户名(标识进程所有者)。
-a
显示完整命令行(包括参数)。
-n
按 PID 数字排序(默认按进程名排序)。
-h
高亮当前进程及其祖先。

显示用户 weimingze 创建的进程的进程树。

weimingze@mzstudio:~$ pstree weimingze
sshd───bash───pstree

systemd─┬─(sd-pam)
        ├─dbus-daemon
        ├─2*[pipewire───2*[{pipewire}]]
        ├─pipewire-pulse───2*[{pipewire-pulse}]
        ├─snapd-desktop-i───snapd-desktop-i───3*[{snapd-desktop-i}]
        ├─wireplumber───5*[{wireplumber}]
        ├─xdg-document-po─┬─fusermount3
                         └─6*[{xdg-document-po}]
        └─xdg-permission-───3*[{xdg-permission-}]

练习:

  1. 使用 pstree 显示进程树信息。
  2. 使用 pstree -p 显示进程树和 PID 信息。
  3. 使用 pstree -a 显示进程树、并显示进程启动的命令行信息。