学习一个Linux命令:pstree,


 

命令简介

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

  1. [root@centos7 ~]# pstree  
  2. -bash: pstree: command not found  
  3. [root@centos7 ~]# yum install psmisc -y 

语法格式 

  1. pstree [OPTIONS]  

选项说明 

  1. -a  #显示每个程序的完整指令  
  2. -c  #不使用精简标示法  
  3. -G  #使用VT100终端机的列绘图字符  
  4. -h  #列出树状图时,特别标明现在执行的程序  
  5. -H<程序识别码>  #此参数的效果和指定"-h"参数类似  
  6. -l  #采用长列格式显示树状图  
  7. -n  #用程序识别码排序  
  8. -p  #显示程序识别码  
  9. -u  #显示用户名称  
  10. -U  #使用UTF-8列绘图字符  
  11. -V  #显示版本信息 

应用举例 

  1. [root@centos7 ~]# pstree  
  2. systemd─┬─NetworkManager───2*[{NetworkManager}]  
  3.         ├─agetty  
  4.         ├─auditd───{auditd}  
  5.         ├─chronyd  
  6.         ├─crond  
  7.         ├─dbus-daemon  
  8.         ├─lvmetad 
  9.         ├─master─┬─pickup  
  10.         │        └─qmgr  
  11.         ├─polkitd───6*[{polkitd}]  
  12.         ├─rsyslogd───2*[{rsyslogd}]  
  13.         ├─sshd─┬─sshd───bash─┬─gzip  
  14.         │      │             ├─more  
  15.         │      │             └─pstree  
  16.         │      └─sshd───bash  
  17.         ├─systemd-journal  
  18.         ├─systemd-logind  
  19.         ├─systemd-udevd  
  20.         └─tuned───4*[{tuned}] 

显示系统当前所有进程的进程ID和进程号

  1. [root@centos7 ~]# pstree -p  
  2. systemd(1)─┬─NetworkManager(634)─┬─{NetworkManager}(656)  
  3.            │                     └─{NetworkManager}(658)  
  4.            ├─agetty(643)  
  5.            ├─auditd(600)───{auditd}(601)  
  6.            ├─chronyd(646)  
  7.            ├─crond(638)  
  8.            ├─dbus-daemon(626)  
  9.            ├─lvmetad(503)  
  10.            ├─master(972)─┬─pickup(5692) 
  11.            │             └─qmgr(974)  
  12.            ├─polkitd(623)─┬─{polkitd}(633)  
  13.            │              ├─{polkitd}(636)  
  14.            │              ├─{polkitd}(637)  
  15.            │              ├─{polkitd}(641)  
  16.            │              ├─{polkitd}(647)  
  17.            │              └─{polkitd}(651)  
  18.            ├─rsyslogd(870)─┬─{rsyslogd}(897)  
  19.            │               └─{rsyslogd}(898)  
  20.            ├─sshd(868)─┬─sshd(5304)───bash(5306)─┬─gzip(5328) 
  21.            │           │                         ├─more(5329)  
  22.            │           │                         └─pstree(6204)  
  23.            │           └─sshd(5546)───bash(5548)  
  24.            ├─systemd-journal(484)  
  25.            ├─systemd-logind(635)  
  26.            ├─systemd-udevd(509)  
  27.            └─tuned(872)─┬─{tuned}(1131)  
  28.                         ├─{tuned}(1132)  
  29.                         ├─{tuned}(1134) 
  30.                         └─{tuned}(1138)

显示所有进程的详细信息,相同的进程名可以压缩显示

  1. [root@centos7 ~]# pstree -a  
  2. systemd --switched-root --system --deserialize 22  
  3.   ├─NetworkManager --no-daemon  
  4.   │   └─2*[{NetworkManager}]  
  5.   ├─agetty --noclear tty1 linux  
  6.   ├─auditd  
  7.   │   └─{auditd}  
  8.   ├─chronyd  
  9.   ├─crond -n 
  10.   ├─dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation  
  11.   ├─lvmetad -f  
  12.   ├─master -w  
  13.   │   ├─pickup -l -t unix -u  
  14.   │   └─qmgr -l -t unix -u  
  15.   ├─polkitd --no-debug  
  16.   │   └─6*[{polkitd}]  
  17.   ├─rsyslogd -n  
  18.   │   └─2*[{rsyslogd}]  
  19.   ├─sshd -D  
  20.   │   ├─sshd  
  21.   │   │   └─bash  
  22.   │   │       ├─gzip -cd mysql_backup.tar.gz  
  23.   │   │       ├─more  
  24.   │   │       └─pstree -a  
  25.   │   └─sshd  
  26.   │       └─bash  
  27.   ├─systemd-journal  
  28.   ├─systemd-logind  
  29.   ├─systemd-udevd  
  30.   └─tuned -Es /usr/sbin/tuned -l -P  
  31.       └─4*[{tuned}] 

查看指定进程的PID

  1. [root@centos7 ~]# pstree -p | grep ssh  
  2.            |-sshd(868)-+-sshd(5304)---bash(5306)-+-grep(6325)  
  3.            |           `-sshd(5546)---bash(5548)  
  4. [root@centos7 ~]# pstree -p | grep system  
  5. systemd(1)-+-NetworkManager(634)-+-{NetworkManager}(656)  
  6.            |-systemd-journal(484)  
  7.            |-systemd-logind(635)  
  8.            |-systemd-udevd(509)  

相关内容