Linux pstree 命令详解

        pstree 命令是一个在 Unix-like 系统中用于以树状图的形式显示当前运行的进程的命令。这种展示方式比简单的列表(ps查看)更加直观,有助于用户快速理解进程的层次结构和父子关系。

        在诊断系统问题时,pstree 可以帮助确定哪些进程是问题的根源。通过查看受影响的进程及其父进程,可以追踪问题的来源,并采取适当的措施进行修复。

基本用法

        在命令行中直接输入 pstree,将会显示一个树状图,其中包含了所有当前活跃的进程,以及它们之间的父子关系。根节点通常是 init(或 systemd,在现代 Linux 系统中)进程,它是所有用户空间进程的祖先。

树状图的解读

  • 根节点:通常,树状图的根节点是init进程(在某些系统中可能是systemd),它是所有用户级进程的祖先。
  • 子节点:每个进程(除了根节点外)都有一个或多个父进程,并可能有一个或多个子进程。在树状图中,子进程会作为父进程的子节点显示,通过连线连接。
  • 进程名称与PID:在树状图中,每个进程旁边通常会显示其名称和进程ID(PID)。这有助于识别特定的进程。(需要结合参数-p)
  • 缩进与层级:进程的层级关系通过缩进来表示,缩进越多的进程表示其层级越深,即它离根节点的距离越远。
  • 特殊标记:有时,树状图中会使用特殊标记来表示进程的状态或特性,以下是常见的特殊标记:

1)小括号 ( )

        在pstree的输出中,小括号通常用于显示进程的PID(进程ID)或其他特定信息。这些信息通常被放置在进程名称后面的括号内。但请注意,pstree命令的默认输出格式可能不包括直接在小括号中显示PID,这取决于所使用的选项和版本。

2)中括号 [ ]

中括号在pstree的输出中有几个可能的用途:

  • 表示内核进程:在某些情况下,特别是当进程是内核线程时,它们可能会被中括号包围起来。这用于区分内核线程与普通用户空间进程。
  • 合并相同分支pstree通过将相同的分支放在方括号中并以重复计数作为前缀,在视觉上合并它们。这有助于简化输出,使树形结构更加清晰。例如,如果有多个getty进程,它们可能会被合并显示为4*[getty]

注意:中括号【】主要是用于在视觉上合并具有相同父进程和名称的多个进程/线程,以使输出更加简洁和易于理解。这里的“相同的分支”通常指的是用户空间中的多个进程/线程实例而非内核线程/进程,内核线程是运行在内核空间中的特殊进程,它们不属于任何用户会话 

3)大括号 { }

        大括号在pstree的输出中通常用于表示进程的线程。当进程有多个线程时,这些线程可能会以父进程名称后跟大括号包围的形式出现,并在大括号内列出线程的名称(尽管在某些情况下,线程名称可能与父进程名称相同)。这种表示法用于指示这些线程属于同一个父进程。

常用选项

注意:不同版本的linux发行版,pstree是不同的(不光是pstress命令,其他命令也可能不同),有些参数可能不支持。

  • -a 或 --arguments:显示命令行参数。这个选项会让 pstree 显示每个进程的命令行参数。
  • -c:显示进程的ID(PID)和父进程ID(PPID)的连线。默认情况下,进程树是通过缩进来表示父子关系的,而 -c 选项则会用连线明确标出每个进程的PPID。
  • -h 或 --highlight-all:高亮显示所有进程。默认情况下,只有当前用户启动的进程会被高亮显示。使用此选项可以高亮显示所有进程。
  • -H <pid>:只高亮显示指定的进程及其子进程。<pid> 是你想要高亮的进程的PID。
  • -l 或 --long:显示进程的完整命令行。默认情况下,如果命令行太长,pstree 会截断它。这个选项可以确保显示完整的命令行。
  • -n:以数字形式显示用户和组ID,而不是名称。
  • -p:显示进程的PID。
  • -s:显示进程的启动时间。
  • -u:显示进程的用户名。
  • -G <grpname>:只显示属于指定组名的进程。<grpname> 是你想要筛选的组的名称。
  • -U <username>:只显示指定用户名的进程。<username> 是你想要筛选的用户的名称。
  • -P:按照PID的顺序而不是创建顺序来排序同一父进程的子进程。
  • --version:显示 pstree 的版本信息。
  • --help:显示帮助信息,列出所有可用的选项和简短说明。
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值