讲解一下pstree命令使用方法

pstree命令是用于查看进程树之间的关系,即哪个进程是父进程,哪个是子进程,可以清楚的看出来是谁创建了谁,下面为大家详细讲解一下pstree命令使用方法。

命令简介

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

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

语法格式

pstree [OPTIONS]  

选项说明

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

应用举例

[root@centos7 ~]# pstree  systemd─┬─NetworkManager───2*[{NetworkManager}]         ├─agetty         ├─auditd───{auditd}         ├─chronyd         ├─crond         ├─dbus-daemon         ├─lvmetad         ├─master─┬─pickup         │        └─qmgr         ├─polkitd───6*[{polkitd}]         ├─rsyslogd───2*[{rsyslogd}]         ├─sshd─┬─sshd───bash─┬─gzip         │      │             ├─more         │      │             └─pstree         │      └─sshd───bash         ├─systemd-journal         ├─systemd-logind         ├─systemd-udevd         └─tuned───4*[{tuned}]  

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

[root@centos7 ~]# pstree -p  systemd(1)─┬─NetworkManager(634)─┬─{NetworkManager}(656)            │                     └─{NetworkManager}(658)            ├─agetty(643)            ├─auditd(600)───{auditd}(601)            ├─chronyd(646)            ├─crond(638)            ├─dbus-daemon(626)            ├─lvmetad(503)            ├─master(972)─┬─pickup(5692)            │             └─qmgr(974)            ├─polkitd(623)─┬─{polkitd}(633)            │              ├─{polkitd}(636)            │              ├─{polkitd}(637)            │              ├─{polkitd}(641)            │              ├─{polkitd}(647)            │              └─{polkitd}(651)            ├─rsyslogd(870)─┬─{rsyslogd}(897)            │               └─{rsyslogd}(898)            ├─sshd(868)─┬─sshd(5304)───bash(5306)─┬─gzip(5328)            │           │                         ├─more(5329)            │           │                         └─pstree(6204)            │           └─sshd(5546)───bash(5548)            ├─systemd-journal(484)            ├─systemd-logind(635)            ├─systemd-udevd(509)            └─tuned(872)─┬─{tuned}(1131)                         ├─{tuned}(1132)                         ├─{tuned}(1134)                         └─{tuned}(1138)  

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

[root@centos7 ~]# pstree -a  systemd --switched-root --system --deserialize 22   ├─NetworkManager --no-daemon   │   └─2*[{NetworkManager}]   ├─agetty --noclear tty1 linux   ├─auditd   │   └─{auditd}   ├─chronyd   ├─crond -n   ├─dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation   ├─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   │   │       ├─gzip -cd mysql_backup.tar.gz   │   │       ├─more   │   │       └─pstree -a   │   └─sshd   │       └─bash   ├─systemd-journal   ├─systemd-logind   ├─systemd-udevd   └─tuned -Es /usr/sbin/tuned -l -P       └─4*[{tuned}]  

查看指定进程的PID

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

本文来源:www.lxlinux.net/6103.html,若引用不当,请联系修改。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注