linux pstree 命令,Linux 中 Pstree 命令使用指南

linux pstree 命令,Linux 中 Pstree 命令使用指南在 Linux 机器上工作时 有时你可能需要找出当前正在运行的进程 你可以使用许多命令来查找有关正在运行的进程的信息 其中 ps 和 top 是最常用的命令 在本文中 我们将讨论 pstree 命令 它类似于 ps 但没有列出正在运行的进程 而是将它们显示在一个目录树中 树状格式是以一种更方便的方式来显示进程层次结构 并使输出在视觉上更具吸引力 如何使用 pstree 命令 pstree 命令的一

在 Linux 机器上工作时,有时你可能需要找出当前正在运行的进程。你可以使用许多命令来查找有关正在运行的进程的信息,其中 ps 和 top 是最常用的命令。

在本文中,我们将讨论 pstree 命令。它类似于 ps ,但没有列出正在运行的进程,而是将它们显示在一个目录树中。树状格式是以一种更方便的方式来显示进程层次结构,并使输出在视觉上更具吸引力。

如何使用 pstree 命令

pstree 命令的一般语法如下:

1ps [OPTIONS] [USER or PID]

以最简单的形式调用时没有任何选项或参数,pstree 命令将显示所有正在运行的进程的分层树结构。

1

2

3

4

5

6

7

8

9

10

11

12

13

14$ pstree

systemd─┬─VBoxService───7*[{VBoxService}]

├─accounts-daemon───2*[{accounts-daemon}]

├─2*[agetty]

├─atd

├─cron

├─dbus-daemon

├─irqbalance───{irqbalance}

├─2*[iscsid]

├─lvmetad

├─lxcfs───2*[{lxcfs}]

├─networkd-dispat───{networkd-dispat}

├─nginx───2*[nginx]

目录树中的 top/root 项目是所有系统进程的父进程。在此示例中为 systemd,这是系统启动时启动的第一个进程。

pstree 通过将相同的分支放在方括号之间并为它们加上代表分支数的整数作为前缀来合并它们,这使得输出更具可读性和视觉吸引力。以下是显示如何使用方括号的示例:

1

2$ pstree

├─2*[agetty]

要禁用相同分支的合并,请使用 -c 选项。

1

2

3$ pstree -c

├─agetty

├─agetty

每个进程的线程显示在父进程下,并使用花括号内的进程名称显示。

1├─lxcfs───2*[{lxcfs}]

你可以使用 -t 选项显示完整的线程名称,如果要隐藏线程并仅显示进程,请使用 -T 选项。

通常,pstree 会在屏幕上显示多行输出。要一次查看输出一页,你可以将其结果通过管道传递到 less 命令。

1$ pstree | less

如果使用用户名作为参数,则 pstree 仅显示该用户拥有的进程。例如,以下命令将仅显示那些由名为 myfreax 的用户启动的进程。

1$ pstree myfreax

如果将 PID 指定为参数,则 pstree 将显示一棵以给定进程为树根的目录树。

1

2$ pstree 1943

sshd───bash───pstree

要显示给定进程的父进程,你可以使用 -s 选项,并在其后跟进程 PID。

1

2$ pstree -s 1943

systemd───sshd───sshd───bash───pstree

显示 PID 和 PGID

通常,当运行 pstree 命令时,用户寻找的最重要的信息是进程 ID。例如,你知道 PID 即可让你杀死发生故障的进程。

我们可以通过 -p 选项让 pstree 显示进程的 PID 。

1

2

3

4

5

6

7

8

9

10# 每个进程或线程后的括号中均显示的是 PID。

$ pstree -p

systemd(1)─┬─VBoxService(955)─┬─{VBoxService}(956)

│ ├─{VBoxService}(957)

│ ├─{VBoxService}(958)

│ ├─{VBoxService}(959)

│ ├─{VBoxService}(960)

│ ├─{VBoxService}(961)

│ └─{VBoxService}(962)

默认情况下,pstree 按名称对具有相同父项的进程进行排序。 如果你想按 PID 排序,你则可以使用 -n 选项。

1$ pstree -pn

一个或多个进程组 ID 是进程组的第一个成员的进程 ID。如果你要查看 PGID,可以使用 -g 选项。

1

2

3

4

5

6

7

8

9

10# 每个进程或线程之后的括号中也显示了 PID。

$ pstree -g

systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954)

│ ├─{VBoxService}(954)

│ ├─{VBoxService}(954)

│ ├─{VBoxService}(954)

│ ├─{VBoxService}(954)

│ ├─{VBoxService}(954)

│ └─{VBoxService}(954)

注:显示 PID 或 PGID 时,将隐式禁用默认的进程合并。

显示命令行参数

默认情况下,pstree 不会向你显示正在运行的进程的命令行参数。要查看进程是如何开始的,你可以使用 -a 选项。

1

2

3

4

5$ pstree -a

├─agetty -o -p — \\u –keep-baud ,38400,9600 ttyS0 vt220

├─agetty -o -p — \\u –noclear tty1 linux

高亮

pstree 还可以使你突出显示进程以更好地呈现视觉效果。-h 选项指示 pstree 高亮显示当前进程及其所有父进程。

1$ pstree -h

如果要高亮显示特定的进程,你可以使用 -H 选项,然后加上进程 ID。

1$ pstree -H PID_NUMBER

结论

至此,我们就讲完了以树结构的形式显示正在运行的进程的 pstree 命令。有关所有可用 pstree 选项的信息,你可以通过在终端中输入 man pstree 进行查看。

来源:myfreax

题图:来自谷歌图片搜索

版权:本文版权归原作者所有

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220683.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午7:53
下一篇 2026年3月17日 下午7:53


相关推荐

  • 线程池不使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式[通俗易懂]

    线程池不使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式

    2022年3月11日
    38
  • DevOps 与 CICD 详解

    DevOps 与 CICD 详解DevOpsDevOps是Development(开发)和Operations(运维)的组合,是一种方法论,是一组过程、方法与系统的统称,用于促进应用开发、应用运维和质量保障(QA)部门之间的沟通、协作与整合,以期打破传统开发和运营之间的壁垒和鸿沟;DevOps是一种重视软件开发人员(Dev)和IT运维技术人员(Ops)之间沟通合作的文化、运动或惯例,通过自动化软件交付和架构变更的流程…

    2022年6月6日
    57
  • 已经狂揽了15.2k!Cursor 的开源平替 Void 来了!

    已经狂揽了15.2k!Cursor 的开源平替 Void 来了!

    2026年3月16日
    2
  • python中的ideavim有什么作用_IdeaVim插件施用技巧

    python中的ideavim有什么作用_IdeaVim插件施用技巧IdeaVim插件使用技巧在IDEAIntellij小技巧和插件一文中简单介绍了一下IdeaVim插件。在这里详细总结一下这个插件在日常编程中的一些常用小技巧。供有兴趣使用这个插件,但对Vim还不十分熟悉的朋友参考。当然基本的hjkl移动光标和几种常见模式等等基本概念就略过不提了。为了确保只包含常用操作,这里提到的技巧都没有从现成文档里抄,而是凭记忆列出(不常用自然就不记得了)。估计会有所遗…

    2026年4月20日
    6
  • 激光SLAM流程_激光打眼

    激光SLAM流程_激光打眼基于环境自然导航激光叉车:基于环境自然导航的激光导航叉车AGV中,机器人在运动过程中通过编码器结合IMU计算得到里程计信息,运用机器人的运动模型得到机器人的位姿初估计,然后通过机器人装载的激光传感器获取的激光数据结合观测模型(激光的扫描匹配)对机器人位姿进行精确修正,得到机器人的精确定位,最后在精确定位的基础上,将激光数据添加到栅格地图中,反复如此,机器人在环境中运动,最终完成整个场景地图的构建…

    2022年8月23日
    8
  • django的render函数_reverse函数用法

    django的render函数_reverse函数用法reverse函数reverse函数的作用是用来进行URL反转的,接下来我们介绍reverse函数的几种用法之前我们都是通过url来访问视图函数。有时候我们知道这个视图函数,但是想反转回他的url

    2022年7月30日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号