pstree

叶长尧發表於2024-05-22

pstree

以樹狀圖的方式展現程序之間的派生關係

補充說明

pstree命令 以樹狀圖的方式展現程序之間的派生關係,顯示效果比較直觀。

linux系統沒有pstree命令需要安裝psmisc安裝包
[root@web-8 /my_shell]#yum install psmisc -y

語法

pstree(選項)

選項

-a:顯示每個程式的完整指令,包含路徑,引數或是常駐服務的標示;
-c:不使用精簡標示法;
-G:使用VT100終端機的列繪圖字元;
-h:列出樹狀圖時,特別標明現在執行的程式;
-H<程式識別碼>:此引數的效果和指定"-h"引數類似,但特別標明指定的程式;
-l:採用長列格式顯示樹狀圖;
-n:用程式識別碼排序。預設是以程式名稱來排序;
-p:顯示程式識別碼;
-u:顯示使用者名稱稱;
-U:使用UTF-8列繪圖字元;
-V:顯示版本資訊。

例項

顯示當前所有程序的程序號和程序id

[root@web-8 /my_shell]#pstree -p
systemd(1)─┬─VGAuthService(647)
           ├─agetty(1353)
           ├─auditd(614)───{auditd}(615)
           ├─crond(1342)───crond(2168)───sh(2169)───ntpdate(2170)
           ├─dbus-daemon(649)
           ├─gssproxy(656)─┬─{gssproxy}(658)
           │               ├─{gssproxy}(659)
           │               ├─{gssproxy}(660)
           │               ├─{gssproxy}(661)
           │               └─{gssproxy}(662)
           ├─lvmetad(489)
           ├─master(1144)─┬─pickup(1678)
           │              └─qmgr(1146)
           ├─nginx(1401)───nginx(1403)
           ├─php-fpm(1050)─┬─php-fpm(1149)
           │               ├─php-fpm(1150)
           │               ├─php-fpm(1151)
           │               ├─php-fpm(1152)
           │               └─php-fpm(1153)
           ├─polkitd(642)─┬─{polkitd}(664)
           │              ├─{polkitd}(666)
           │              ├─{polkitd}(679)
           │              ├─{polkitd}(680)
           │              └─{polkitd}(687)
           ├─rpcbind(655)
           ├─rsyslogd(1046)─┬─{rsyslogd}(1056)
           │                └─{rsyslogd}(1057)
           ├─sshd(1047)───sshd(1692)───bash(1694)───pstree(2171)
           ├─systemd-journal(463)
           ├─systemd-logind(643)
           ├─systemd-udevd(492)
           ├─tuned(1044)─┬─{tuned}(1306)
           │             ├─{tuned}(1307)
           │             ├─{tuned}(1308)
           │             └─{tuned}(1321)
           └─vmtoolsd(648)───{vmtoolsd}(708)

顯示所有程序的所有詳細資訊,遇到相同的程序名可以壓縮顯示。

[root@web-8 /my_shell]#pstree -a
systemd --switched-root --system --deserialize 22
  ├─VGAuthService -s
  ├─agetty --noclear tty1 linux
  ├─auditd
  │   └─{auditd}
  ├─crond -n
  ├─dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
  ├─gssproxy -D
  │   └─5*[{gssproxy}]
  ├─lvmetad -f
  ├─master -w
  │   ├─pickup -l -t unix -u
  │   └─qmgr -l -t unix -u
  ├─nginx
  │   └─nginx
  ├─php-fpm
  │   ├─php-fpm
  │   ├─php-fpm
  │   ├─php-fpm
  │   ├─php-fpm
  │   └─php-fpm
  ├─polkitd --no-debug
  │   └─5*[{polkitd}]
  ├─rpcbind -w
  ├─rsyslogd -n
  │   └─2*[{rsyslogd}]
  ├─sshd -D
  │   └─sshd
  │       └─bash
  │           └─pstree -a
  ├─systemd-journal
  ├─systemd-logind
  ├─systemd-udevd
  ├─tuned -Es /usr/sbin/tuned -l -P
  │   └─4*[{tuned}]
  └─vmtoolsd
      └─{vmtoolsd}