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 【参数】
NAME pstree - display a tree of processes SYNOPSIS pstree [-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 5192 pts/2 S+ 16:35 0:00 vim 1.txt root 5808 0.0 0.0 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
总结
这个命令实际能用到的机会并不会很多,但可以作为一个命令进行了解,若觉得以上内容还行的,可以点赞支持一下!


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/117126.html