使用pstree命令查看进程状态
安装
[root@localhost ~]# yum -y install psmisc
pstree语法
功能描述:以树状图显示程序和进程之间的关系
语言
pstree [选项] [PID|用户名称]
选线及参数
-a
:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示-c
:不使用精简标示法-G
:使用VT100终端机的列绘图字符-h
:列出树状图时,特别标明现在执行的程序-H<程序识别码>
:此参数的效果和指定-h
参数类似,但特别标明指定的程序-l
:采用长列格式显示树状图-n
:用程序识别码排序。预设是以程序名称来排序-p
:显示程序识别码-u
:显示用户名称-U
:使用UTF-8列绘图字符
pstree实例
显示系统的所有程序和进程信息
如果直接使用pstree命令,而不指定进程的PID和用户名称,则将以init进程为根进程,显示系统中所有的程序和进程信息
[root@localhost ~]# pstree
systemd─┬─NetworkManager───2*[{NetworkManager}]
├─VGAuthService
├─auditd───{auditd}
├─chronyd
├─crond
├─dbus-daemon───{dbus-daemon}
├─dhclient
├─firewalld───{firewalld}
├─login───bash
├─lvmetad
├─master─┬─pickup
│ └─qmgr
├─polkitd───6*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sshd───sshd───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
└─vmtoolsd───{vmtoolsd}
###附带用户名显示进程信息
[root@localhost ~]# pstree -u
systemd─┬─NetworkManager───2*[{NetworkManager}]
├─VGAuthService
├─auditd───{auditd}
├─chronyd(chrony)
├─crond
├─dbus-daemon(dbus)───{dbus-daemon}
├─dhclient
├─firewalld───{firewalld}
├─login───bash
├─lvmetad
├─master─┬─pickup(postfix)
│ └─qmgr(postfix)
├─polkitd(polkitd)───6*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sshd───sshd───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
└─vmtoolsd───{vmtoolsd}
###特别标明正在运行的程序
[root@localhost ~]# pstree -h
systemd─┬─NetworkManager───2*[{NetworkManager}]
├─VGAuthService
├─auditd───{auditd}
├─chronyd
├─crond
├─dbus-daemon───{dbus-daemon}
├─dhclient
├─firewalld───{firewalld}
├─login───bash
├─lvmetad
├─master─┬─pickup
│ └─qmgr
├─polkitd───6*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sshd───sshd───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
└─vmtoolsd───{vmtoolsd}
###附带程序识别码显示进程信息
[root@localhost ~]# pstree -p
systemd(1)─┬─NetworkManager(761)─┬─{NetworkManager}(770)
│ └─{NetworkManager}(773)
├─VGAuthService(687)
├─auditd(657)───{auditd}(658)
├─chronyd(698)
├─crond(715)
├─dbus-daemon(693)───{dbus-daemon}(708)
├─dhclient(1803)
├─firewalld(726)───{firewalld}(1099)
├─login(719)───bash(1699)
├─lvmetad(521)
├─master(1189)─┬─pickup(2195)
│ └─qmgr(1200)
├─polkitd(685)─┬─{polkitd}(707)
│ ├─{polkitd}(711)
│ ├─{polkitd}(712)
│ ├─{polkitd}(714)
│ ├─{polkitd}(721)
│ └─{polkitd}(724)
├─rsyslogd(1003)─┬─{rsyslogd}(1008)
│ └─{rsyslogd}(1009)
├─sshd(997)───sshd(1818)───bash(1822)───pstree(2313)
├─systemd-journal(496)
├─systemd-logind(709)
├─systemd-udevd(531)
├─tuned(998)─┬─{tuned}(1289)
│ ├─{tuned}(1290)
│ ├─{tuned}(1292)
│ └─{tuned}(1294)
└─vmtoolsd(688)───{vmtoolsd}(728)
###显示每个程序的完整指令,包含路径,参数或是常驻服务的标示
[root@localhost ~]# pstree -a
systemd --switched-root --system --deserialize 22
├─NetworkManager --no-daemon
│ └─2*[{NetworkManager}]
├─VGAuthService -s
├─auditd
│ └─{auditd}
├─chronyd
├─crond -n
├─dbus-daemon --system --address=systemd: --nofork --nopidfile--systemd-
│ └─{dbus-daemon}
├─dhclient
├─firewalld -Es /usr/sbin/firewalld --nofork --nopid
│ └─{firewalld}
├─login
│ └─bash
├─lvmetad -f
├─master -w
│ ├─pickup -l -t unix -u
│ └─qmgr -l -t unix -u
├─polkitd --no-debug
│ └─6*[{polkitd}]
├─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}
查看启动进程的用户信息
[root@localhost ~]# pstree -u 715
crond