天天看点

Linux基础命令---显示树形进程pstree

pstree

        pstree显示正在运行的进程的树形结构,树以PID为根;如果省略了pid则以init为根。如果指定了用户名,则显示根植于该用户拥有的进程的所有进程树。如果pstree被调用为pstree.x11,那么它将提示行尾的用户按RETURE,并且在这种情况发生之前不会返回。这对于在x终端中运行pstree非常有用。

        pstree通过将相同的分支放在方括号中并以重复计数作为前缀,在视觉上合并它们。例如:

init-+-getty

    |-getty

    |-getty

‘-getty

变成下面的样子

​init---4*[getty]​

        进程的子线程在父进程下找到,并以大括号显示进程名,例如:

icecast2---13*[{icecast2}]

        此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法

        pstree [选项]

2、选项列表

选项 说明
-a 显示每个进程的完整指令,包括路径、参数
-A 使用ascii码显示树形
-c 关闭精简表示法
-G 使用VT 100线条绘制字符
-h 高亮显示正在执行的程序
-H 类似“-h”,但是突出显示指定的进程。与-h不同,如果高亮显示不可用,pstree在使用-H时会失败。
-l 长格式显示
-n 以进程号排序,默认以名字排序
-p 显示pid
-u 显示用户
-U 以utf-8显示字符
-V 显示命令版本信息
-Z 每个SELinux的上下文

3、实例

1)显示完成的树形结构

​[root@localhost ~]# pstree -a​

​init​

​  ├─NetworkManager --pid-file=/var/run/NetworkManager/NetworkManager.pid​

​  │   ├─dhclient -d -4 -sf /usr/libexec/nm-dhcp-client.action -pf /var/run/dhclient-eth0.pid ...​

​  │   └─{NetworkManager}​

​  ├─VBoxClient --clipboard​

​  │   └─VBoxClient --clipboard​

2)显示进程号 

​[root@localhost ~]# pstree -p​

​init(1)─┬─NetworkManager(6362)─┬─dhclient(6377)​

​        │                      └─{NetworkManager}(6379)​

​       ├─VBoxClient(7869)───VBoxClient(7870)───{VBoxClient}(7872)​

​        ├─VBoxClient(7882)───VBoxClient(7883)​

​        ├─VBoxClient(7890)───VBoxClient(7891)───{VBoxClient}(7894)​

​       ├─VBoxClient(7898)───VBoxClient(7899)─┬─{VBoxClient}(7901)​

​        │                                    └─{VBoxClient}(7903)​

​        ├─VBoxClient(7306)───VBoxClient(7308)​

​       ├─VBoxClient(7312)───VBoxClient(7314)───{VBoxClient}(7317)​

​       ├─VBoxClient(7318)───VBoxClient(7320)─┬─{VBoxClient}(7323)​

​        │                                    └─{VBoxClient}(7325)​

继续阅读