欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > Linux shell编程学习笔记61: pstree 命令——显示进程树

Linux shell编程学习笔记61: pstree 命令——显示进程树

2024/10/24 4:30:01 来源:https://blog.csdn.net/Purpleendurer/article/details/140137852  浏览:    关键词:Linux shell编程学习笔记61: pstree 命令——显示进程树

 

0 前言

Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令icon-default.png?t=N7T8https://blog.csdn.net/Purpleendurer/article/details/139696466?spm=1001.2014.3001.5501

中我们研究了ps命令。在Linux中,通过ps命令,我们可以查看系统中运行的进程信息,包括进程的ID、父进程ID、CPU和内存占用等信息。不过ps命令显示的进程信息中,进程间的父子关系还不够直观。

Linux还提供了pstree命令,可以以树的形式直观地显示进程间的关系。

1 pstree 命令 的功能、格式和选项说明

我们先看一下pstree命令的帮助信息。

pstree命令 不支持 --help选项。

[purpleendurer @ bash ~] pstree --help
pstree: 未知的选项 `--help'
Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -u ][ -A | -G | -U ] [ PID | USER ]pstree -V
Display a tree of processes.-a, --arguments     show command line arguments-A, --ascii         use ASCII line drawing characters-c, --compact       don't compact identical subtrees-h, --highlight-all highlight current process and its ancestors-H PID,--highlight-pid=PID highlight this process and its ancestors-g, --show-pgids    show process group ids; implies -c-G, --vt100         use VT100 line drawing characters-l, --long          don't truncate long lines-n, --numeric-sort  sort output by PID-N type,--ns-sort=type      sort by namespace type (ipc, mnt, net, pid, user, uts)-p, --show-pids     show PIDs; implies -c-s, --show-parents  show parents of the selected process-S, --ns-changes    show namespace transitions-u, --uid-changes   show uid transitions-U, --unicode       use UTF-8 (Unicode) line drawing characters-V, --version       display version information-Z     show         SELinux security contextsPID    start at this PID; default is 1 (init)USER   show only trees rooted at processes of this user[purpleendurer @ bash ~] 

 

1.1 pstree 命令 的功能

显示进程树(Display a tree of processes)。

1.2  pstree命令的格式

ps [选项]   [PID |  USER]

 ps -V

1.3 pstree命令的选项

选项功能

-a

--arguments

显示进程对应命令行有参数,如果是被记忆体置换出去的进程则会加上括号

-A

--ascii

使用ASCII码线条绘制字符

-c

--compact

如果有重复的进程名, 则分开列出(预设值是会在前面加上 *)

-h

--highlight-all

突出显示当前流程及其祖先

-H PID

--highlight-pid=PID

突出显示指定PID的过程及其祖先

-g

--show-pgids

显示进程组 ID;隐含 -c

-G

--vt100

使用 VT100 线条绘制字符

-l

--long

不要截断长线

-n

--numeric-sort

按 PID 对输出进行排序

-N type

--ns-sort=type

按命名空间类型排序(IPC、MNT、NET、PID、USER、UTS)

-p

--show-pids

显示 PID;隐含 -c

-s

--show-parents

显示所选进程的父进程

-S

--ns-changes

显示命名空间转换

-u

--uid-changes

显示 UID 转换

-U

--unicode

使用 UTF-8 (Unicode) 线条绘制字符

-V

--version

显示版本信息

1.3 pstree命令的参数

参数说明
PID从指定的PID开始,默认值为1
USER以指定用户显示进程树

2 pstree命令实列

2.1 pstree | more 分页显示进程树

[purpleendurer @ bash ~] pstree | more
systemd-+-ETSMJBZGN0---3*[{ETSMJBZGN0}]|-ETSMJBZGN10|-ETSMJBZUI1-+-29*[QOperationLogTh]|            |-11*[QRemoveLabelThr]|            |-{QFunctionPipe}|            |-{QKeepSessionThr}|            |-2*[{QOperationLogTh}]|            |-{QPluginOutPipe}|            |-{QProcessManager}|            |-{QRightMenuPipe}|            `-{QSLPluginPipe}|-ETSMJBZUI11---8*[{ThreadServer}]|-ETSMJBZUI13---sleep|-ETSMJBZWJTX0---{ETSMJBZWJTX0}|-2*[ETSMJBZWJTX1]|-FoxitOfficeSuit---FoxitOfficeSuit-+-FoxitUpgrade|                                   `-3*[{FoxitOfficeSuit}]|-NetworkManager-+-dhclient|                |-dnsmasq|                |-{gdbus}|                `-{gmain}|-PNXClientHost.o---PNXClientHost.o|-SuwellUpdateSer|-WLHXXYCGN701|-WLHXXYCGN702---{WLHXXYCGN702}|-WLHXXYCGN802|-accounts-daemon-+-{gdbus}|                 `-{gmain}|-acpid|-activation-daem|-2*[agetty]|-aptd---{gmain}|-auditd---{auditd}|-avahi-daemon---avahi-daemon|-backup-daemon---{QDBusConnection}|-biometric-authe-+-2*[{biometric-authe}]|                 |-{gdbus}|                 `-{gmain}|-2*[cat]
--更多--

 

 

 2.2 pstree -apn | more :用ASCII码线条绘制字符显示在运行的进程树,包括命令参数和PID

[purpleendurer @ bash ~] pstree -apn | more
systemd,1 splash|-sqaxsafeforcnos,367 --minishow|   |-{QXcbEventReader},371|   |-{llvmpipe-0},386|   |-{llvmpipe-1},387|   |-{llvmpipe-2},388|   |-{llvmpipe-3},389|   |-{QDBusConnection},390|   |-{gmain},415|   |-{gdbus},416|   |-{CASocketThread},428|   |-{sqaxsafeforcnos},432|   |-{sqaxsafeforcnos},433|   |-{sqaxsafeforcnos},434|   |-{sqaxsafeforcnos},435|   |-{sqaxsafeforcnos},436|   |-{sqaxsafeforcnos},437|   |-{sqaxsafeforcnos},438|   |-{sqaxsafeforcnos},439|   |-{sqaxsafeforcnos},497|   |-{sqaxsafeforcnos},498|   |-{sqaxsafeforcnos},499|   |-{sqaxsafeforcnos},500|   |-{sqaxsafeforcnos},501|   |-{sqaxsafeforcnos},502|   |-{sqaxsafeforcnos},503|   |-{sqaxsafeforcnos},504|   |-{sqaxsafeforcnos},506|   |-{sqaxsafeforcnos},507|   |-{sqaxsafeforcnos},508|   |-{sqaxsafeforcnos},509|   |-{sqaxsafeforcnos},510|   |-{sqaxsafeforcnos},511|   |-{sqaxsafeforcnos},512|   |-{sqaxsafeforcnos},516|   |-{XTableThread},520|   |-{SpeedCtrl},522|   |-{QThread},524|   `-{CpuMemState},525|-systemd-udevd,420|-haveged,423 --Foreground --verbose=1 -w 1024|-systemd-journal,425|-qaxtray_5,518 --reboot|   |-{QXcbEventReader},523|   |-{llvmpipe-0},526|   |-{llvmpipe-1},527|   |-{llvmpipe-2},528|   |-{llvmpipe-3},529|   |-{QDBusConnection},530|   |-{gmain},531|   |-{gdbus},532|   |-{qaxtray_5},581|   |-{qaxtray_5},582|   |-{qaxtray_5},583|   |-{qaxtray_5},584|   |-{QThread},591
--更多--

3.3  pstree -p 795:显示以PID为795的进程为根的进程树,包括PID

[purpleendurer @ bash ~] pstree -p 795
accounts-daemon(795)─┬─{gdbus}(834)└─{gmain}(824)
[purpleendurer @ bash ~] 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com