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 ~] 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/39693.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Hec-Ras】第一期:软件安装

Hec-Ras软件安装 1 HEC-RAS软件介绍2 HEC-RAS软件下载3 HEC-RAS软件安装4 HEC-RAS软件界面介绍参考 1 HEC-RAS软件介绍 HEC-RAS 是美国陆军工程兵团工程水文中心( Hydrologic Engineering Centers, HEC)开发的河道水力计算程序(River Analys…

C++中的虚函数与Java中的接口区别

在C和Java中,虚函数(virtual function)和接口(interface)虽然都用于实现多态性,但它们在设计和使用上有着本质的区别,因此不能简单地将C中的虚函数理解为Java中的接口。 C中的虚函数 定义&…

go sync包(五) WaitGroup

WaitGroup sync.WaitGroup 可以等待一组 Goroutine 的返回,一个比较常见的使用场景是批量发出 RPC 或者 HTTP 请求: requests : []*Request{...} wg : &sync.WaitGroup{} wg.Add(len(requests))for _, request : range requests {go func(r *Reque…

WebSocket解决方案(springboot 基于Redis发布订阅)

WebSocket 因为一般的请求都是HTTP请求(单向通信),HTTP是一个短连接(非持久化),且通信只能由客户端发起,HTTP协议做不到服务器主动向客户端推送消息。WebSocket确能很好的解决这个问题&…

基于SpringBoot的漫画网站系统

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:B/S架构模式、Java技术 工具:Visual Studio、MySQL数据库开发工具 系统展示 首页 用户…

零基础学习MySQL---MySQL入门

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、什么是数据库 问:存储数据用文件就可以了,为什么还要弄个数据库呢? 这就不得不提…

如何在《语文新读写》期刊上发表论文?

如何在《语文新读写》期刊上发表论文? 《语文新读写》知网 省级G4 3版面4800字符数 24年10-11月 可版权页查稿 出刊晚5个月 《语文新读写》栏目:视点_本期特稿、视点_百家争鸣、探索_教材新探、探索_阅读风向、探索_写作杂谈、实践_教法学法、实践_教…

视频文字转语音经验笔记

自媒体视频制作的一些小经验,分享给大家。 一、音频部分: 1、文字转语音阐述: 微软语音识别 云希-青年男, 0.5-0.8变速 。注:云泽-中年男(不支持长音频录制), 适合郑重场合&#…

【python】OpenCV—Feature Detection and Matching

参考学习来自OpenCV基础(23)特征检测与匹配 文章目录 1 背景介绍2 Harris角点检测3 Shi-Tomasi角点检测4 Fast 角点检测5 BRIEF 特征描述子6 ORB(Oriented Fast and Rotated Brief) 特征描述子7 SIFT(Scale Invariant Feature Transform) 特征描述子8 SU…

Milvus ConnectionRefusedError: how to connect locally

题意:怎样在本地连接到 Milvus 数据库。连接 Milvus 数据库被拒绝的错误 问题背景: I am trying to run a RAG pipeline using haystack & Milvus. 我正在尝试使用 haystack 和 Milvus 运行一个 RAG(检索增强型生成)管道。 …

vue+element-ui简洁完美实现个人博客“​响石潭 ​”

目录 一、项目介绍 二、项目截图 1.项目结构图 2.首页 3.生活 ​编辑 4.文章详情 ​编辑 5.关于我 ​编辑 ​编辑 三、源码实现 1.项目依赖package.json 2.项目启动 3.首页源码 四、总结 一、项目介绍 本项目在线预览:点击访问 参考官网&#xff1…

分布式NAS集群+ceph+CTDB

分布式存储系统中,分布式NAS、CTDB和Ceph常常被结合使用以提供高性能、高可用性和灵活扩展的存储解决方案。以下是这三者的关系及其在分布式存储系统中的角色: 一、分布式NAS(Network Attached Storage) 分布式NAS是一种通过网络…

lua 判断变量是否是数字

lua 判断变量是否是数字 在 Lua 中,可以使用 tonumber 函数来判断一个值是否是数字。tonumber 函数尝试将其参数转换为数字,如果转换失败,它将返回 nil。基于这一点,可以编写一个函数来判断一个值是否是数字。 以下是一个示例代…

腾讯 TRANSAGENTS: 多智能体翻译框架上线

之前介绍的由腾讯 AI 实验室搞得TRANSAGENTS(多 Agent 系统,模拟现实翻译出版流程)终于上线演示了!提供了基于 GPT-4o 的免费试用, 暂时还是期货开源。

计算机系统的性能指标及其运算与表示方法

计算机系统的性能指标及其运算与表示方法 计算机系统的性能指标是评估其运行效率和处理能力的重要标准。理解这些指标,并结合计算机的运算和表示方法,有助于全面掌握计算机系统的性能及其优化策略。 计算机系统的性能指标 计算机性能指标主要包括处理…

c++初级-1-指针

文章目录 指针一、指针的定义和使用二、指针所占内存空间三、空指针和野指针四、const 修饰指针五、指针与数组六、指针与函数 指针 一、指针的定义和使用 //定义指针int a 10;int* p &a;cout << *p << endl;cout << a << endl;//使用指针*p 1…

IT领域的初学者指南:从高考到新征程

前言 七月来临&#xff0c;各省高考分数已揭榜完成。对于许多学子来说&#xff0c;高考的完结并不意味着学习的结束&#xff0c;而是新旅程的开始。特别是对于那些有志于踏入IT领域的高考少年们&#xff0c;这个假期无疑是开启探索IT世界的绝佳时机。作为该领域的前行者和经验…

android——Livedata、StateFlow、ShareFlow和Channel的介绍和使用

目录 一、LiveData介绍 二、StateFlow介绍 三、ShareFlow介绍 四、Channel介绍 小结 一、LiveData介绍 LiveData是一种在Android开发中用于观察数据变化的组件。它可以被观察者注册并在数据变化时通知观察者&#xff0c;从而实现数据的实时更新。LiveData具有生命周期感知能力&…

R语言fastshap包进行支持向量机shap可视化分析

1995年VAPINK 等人在统计学习理论的基础上提出了一种模式识别的新方法—支持向量机 。它根据有限的样本信息在模型的复杂性和学习能力之间寻求一种最佳折衷。 以期获得最好的泛化能力.支持向量机的理论基础决定了它最终求得的是全局最优值而不是局部极小值,从而也保证了它对未知…

[数据集][目标检测]围栏破损检测数据集VOC+YOLO格式1196张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1196 标注数量(xml文件个数)&#xff1a;1196 标注数量(txt文件个数)&#xff1a;1196 标注…