有了域名之后如何做网站now9999网站提示建设中
Linux基础命令-uname显示系统内核信息
Linux基础命令-lsof查看进程打开的文件
Linux基础命令-uptime查看系统负载
文章目录
前言
一 命令介绍
二 语法及参数
2.1 使用man查看命令语法
2.2 常用参数
三 参考实例
3.1 以树状图的形式显示所有进程
3.2 以树状图显示进程号
3.3 以完整的样式显示进程
3.4 带有特别标明字体的形式显示执行的程序
3.5 不以精简的模式显示进程
总结
前言
前些时间学习了ps命令,今天来了解一下这个pstree的命令,既是将进程与子进程的结构以树状形式显示出来,还是比较有意思的,先看下命令的介绍。
一 命令介绍
pstree命令来自于英文词组“Process tree”的缩写,其功能是用于以树状图形式显示进程信息,帮助管理员更好的了解进程间的关系。Linux系统中常用ps命令查看进程状态信息,但是却无法了解进程之前的依赖关系,哪个是父进程,哪个是子进程都可以通过pstree进行查看。
二 语法及参数
2.1 使用man查看命令语法
语法:pstree 【参数】
NAMEpstree - display a tree of processesSYNOPSISpstree [-a, --arguments] [-c, --compact] [-h, --highlight-all, -Hpid, --high‐light-pid pid] [-g] --show-pgids] [-l, --long] [-n, --numeric-sort][-N, --ns-sortns [-p, --show-pids] [-s, --show-parents] [-S, --ns-changes][-u, --uid-changes] [-Z, --security-context][-A, --ascii, -G, --vt100, -U, --unicode] [pid, user]pstree -V, --version
 
2.2 常用参数
pstree命令能用到的参数并不需要很多,这个命令有时作为一个了解即可。
| -a | 显示完整信息 | 
| -c | 不使用精简标示法 | 
| -G | 使用VT100终端机的列绘图字符 | 
| -h | 特别标明现在执行的程序 | 
| -p | 显示进程号码 | 
三 参考实例
3.1 以树状图的形式显示所有进程
[root@localhost ~]# pstree -a | more
systemd --switched-root --system --deserialize 22|-ModemManager|   `-2*[{ModemManager}]|-NetworkManager --no-daemon|   |-dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens32 
3.2 以树状图显示进程号
[root@localhost ~]# ps aux  | grep vim
root       5797  0.1  0.1 149588  5192 pts/2    S+   16:35   0:00 vim 1.txt
root       5808  0.0  0.0 112824   972 pts/0    R+   16:35   0:00 grep --color=auto vim
[root@localhost ~]# pstree -ap 5797
vim,5797 1.txt 
当然也可直接使用pstree -p参数
[root@localhost ~]# pstree -p | head
systemd(1)-+-ModemManager(742)-+-{ModemManager}(770)|                   `-{ModemManager}(781)|-NetworkManager(870)-+-dhclient(1002)|                     |-{NetworkManager}(876)|                     `-{NetworkManager}(879)|-VGAuthService(715)|-abrt-dbus(5772)-+-{abrt-dbus}(5773)|                 `-{abrt-dbus}(5775)|-abrt-watch-log(712)|-abrt-watch-log(713)
 
3.3 以完整的样式显示进程
[root@localhost /]# pstree -a |head
systemd --switched-root --system --deserialize 22|-ModemManager|   `-2*[{ModemManager}]|-NetworkManager --no-daemon|   |-dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens32.pid -lf...|   `-2*[{NetworkManager}]|-VGAuthService -s|-abrt-watch-log -F BUG: WARNING: at WARNING: CPU: INFO: possible recursive locking detected ernel BUG atlist_del corruption|-abrt-watch-log -F Backtrace /var/log/Xorg.0.log -- /usr/bin/abrt-dump-xorg -xD|-abrtd -d -s
 
3.4 带有特别标明字体的形式显示执行的程序
[root@localhost /]# pstree -h
systemd─┬─ModemManager───2*[{ModemManager}]├─NetworkManager─┬─dhclient│                └─2*[{NetworkManager}]├─VGAuthService├─2*[abrt-watch-log]├─abrtd├─accounts-daemon───2*[{accounts-daemon}]├─at-spi-bus-laun─┬─dbus-daemon───{dbus-daemon}
 
当前正在执行的程序看着会更明显
![]()
![]()
3.5 不以精简的模式显示进程
加上-c参数,显示的内容对比默认形式的命令,内容会显得更加的详细。
[root@localhost /]# pstree -c | head -10
systemd-+-ModemManager-+-{ModemManager}|              `-{ModemManager}|-NetworkManager-+-dhclient|                |-{NetworkManager}|                `-{NetworkManager}|-VGAuthService|-abrt-watch-log|-abrt-watch-log|-abrtd|-accounts-daemon-+-{accounts-daemon}
[root@localhost /]# pstree | head -10
systemd-+-ModemManager---2*[{ModemManager}]|-NetworkManager-+-dhclient|                `-2*[{NetworkManager}]|-VGAuthService|-2*[abrt-watch-log]|-abrtd
 
总结
这个命令实际能用到的机会并不会很多,但可以作为一个命令进行了解,若觉得以上内容还行的,可以点赞支持一下!
        
