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

news2024/12/23 17:32:56

 

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 contexts
  PID    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.coloradmin.cn/o/1888422.html

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

相关文章

William Yang:从区块链先锋到艺术平台创始人

在区块链技术和加密货币市场飞速发展的今天,William Yang无疑是这一领域的佼佼者。他不仅在学术和媒体领域取得了显著成就,更在创业之路上不断探索,成为了业内知名的KOL(关键意见领袖)。今天,我们有幸采访到…

排序算法系列一:选择排序、插入排序 与 希尔排序

目录 零、说在前面 一、理论部分 1.1:选择排序 1.1.1:算法解读: 1.1.2:时间复杂度 1.1.3:优缺点: 1.1.4:代码: 1.2:插入排序 1.2.1:算法解读&#x…

mysql-sql-第十五周

学习目标: sql 学习内容: 41.查询没有学全所有课程的同学的信息 select *from students where students.stunm not in (select score.stunm from score group by score.stunm having count(score.counm) (select count(counm) from course)) 42.查询…

【C++/STL深度剖析】stack和queue的详细概念和使用(图文详解,初学者必看!!)

目录 一、前言 二、stack 的详细解析 🔥 stack的介绍🔥 🔥 stack的构造🔥 🔥 stack的常用接口🔥 💧push 💧top 💧pop 💧empty 💧size…

违规停放智能监测摄像机

对于现代城市管理来说,违规停放智能监测摄像机正逐渐成为解决交通拥堵和城市管理难题的重要工具。这类摄像机通过先进的视觉识别和数据分析技术,有效监控和管理道路上的车辆停放行为,对提升城市交通运行效率和改善市民出行环境具有显著的意义…

pytorch-ResNet18简单复现

目录 1. ResNet block2. ResNet18网络结构3. 完整代码3.1 网络代码3.2 训练代码 1. ResNet block ResNet block有两个convolution和一个short cut层,如下图: 代码: class ResBlk(nn.Module):def __init__(self, ch_in, ch_out, stride):su…

锻炼 读书笔记 番外 身体激素及神经递质

最近在读《锻炼》的时候,对于各种激素很感兴趣,多巴胺、内啡肽、荷尔蒙、肾上腺素、褪黑素、皮质醇、糖化、氧化等等。索性认真梳理下它们是什么,思考当处于心流状态时,人体发生什么样的变化,分泌什么激素?…

Milvus ConnectionRefusedError: how to connect locally

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

10 - Python文件编程和异常

文件和异常 在实际开发中,常常需要对程序中的数据进行持久化操作,而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词,可能需要先科普一下关于文件系统的知识,对于这个概念,维基百科上给出…

重温被Mamba带火的SSM:HiPPO的一些遗留问题

©PaperWeekly 原创 作者 | 苏剑林 单位 | 科学空间 研究方向 | NLP、神经网络 书接上文,在上一篇文章《重温被Mamba带火的SSM:线性系统和HiPPO矩阵》中,我们详细讨论了 HiPPO 逼近框架其 HiPPO 矩阵的推导,其原理是通过正交…

MySQL的Geometry数据处理之WKB方案

MySQL的Geometry数据处理之WKT方案:https://blog.csdn.net/qq_42402854/article/details/140134357 MySQL的Geometry数据处理之WKT方案中,介绍WTK方案的优点,也感受到它的繁琐和缺陷。比如: 需要借助 ST_GeomFromText和 ST_AsTex…

Gradio 教程四:Building Generative AI Applications with Gradio

文章目录 一、使用interface构建NLP应用1.1 构建文本摘要应用1.1.1 设置API密钥1.1.2 调用文本摘要API1.1.3 运行本地模型获取响应1.1.4 使用interface构建应用 1.2 构建命名实体识别应用1.2.1 调用NER任务API1.2.2 使用interface构建应用1.2.3 加入额外函数,合并to…

C语言实战 | 用户管理系统

近期推出的青少年防沉迷系统,采用统一运行模式和功能标准。在“青少年模式”下,未成年人的上网时段、时长、功能和浏览内容等方面都有明确的规范。防沉迷系统为青少年打开可控的网络空间。 01、综合案例 防沉迷系统的基础是需要一个用户管理系统管理用户…

Unity3d C#实现基于UGUI ScrollRect的轮播图效果功能(含源码)

前言 轮播功能是一种常见的页面组件,用于在页面中显示多张图片/素材并自动或手动进行切换,以提高页面的美观度和用户体验。主要的功能是:自动/手动切换;平滑的切换效果;导航指示器等。可惜Unity的UGUI系统里没有现成的实现该功能&#xff0c…

[Labview] 改写表格内容并储存覆盖Excel

在上一个功能的基础上,新增表格改写保存功能 [Labview] Excel读表 & 输出表单中选中的单元格内容https://blog.csdn.net/Katrina419/article/details/140120584 Excel修改前: 修改保存后,动态改写储存Excel,并重新写入新的表…

使用antd的<Form/>组件获取富文本编辑器输入的数据

前端开发中,嵌入富文本编辑器时,可以通过富文本编辑器自身的事件处理函数将数据传输给后端。有时候,场景稍微复杂点,比如一个输入页面除了要保存富文本编辑器的内容到后端,可能还有一些其他输入组件获取到的数据也一并…

Go - 8.func 函数使用

目录 一.引言 二.func 定义 三.func 实践 1.多个返回值 2.命名返回值 3.可变参数 四.总结 一.引言 函数是编程语言中的基本构建块,用于将代码组织成可重用的逻辑单元。函数可以接受输入参数,执行特定的操作,并返回结果。在 Go 语言&a…

设计IC行业SAP软件如何处理芯片成本计算

在集成电路(IC)设计与制造行业中,精确的成本计算对于维持健康的财务状况、优化生产流程以及保持市场竞争力至关重要。SAP软件,作为一种全面的企业资源规划(ERP)解决方案,为IC行业提供了强大且灵活的成本计算工具。以下是SAP软件如何处理芯片成…

【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…

​​​​​​​​​​​​​​Spark Standalone集群环境

目录 Spark Standalone集群环境 修改配置文件 【workers】 【spark-env.sh】 【配置spark应用日志】 【log4j.properties】 分发到其他机器 启动spark Standalone 启动方式1:集群启动和停止 启动方式2:单独启动和停止 连接集群 【spark-shel…