Linux基础命令---显示进程树pstree
原创
©著作权归作者所有:来自51CTO博客作者一生有你llx的原创作品,请联系作者获取转载授权,否则将追究法律责任
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)
|