前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 命令(176)—— pstree 命令

Linux 命令(176)—— pstree 命令

作者头像
恋喵大鲤鱼
发布2022-10-30 13:41:37
1.7K0
发布2022-10-30 13:41:37
举报
文章被收录于专栏:C/C++基础

文章目录

1.命令简介

pstree(process tree)显示进程树。

pstree 将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本进程为根 (root)。如果有指定使用者 id,则树状图只会显示该使用者所拥有的进程。

使用 ps 命令得到的数据精确,但数据庞大,这一点对掌握系统整体概况来说是不容易的。pstree 命令正好可以弥补这个缺憾。它能将当前的执行程序以树状结构显示。pstree命令支持指定特定程序(PID)或使用者(USER)作为显示的起始。

2.命令格式

代码语言:javascript
复制
pstree [<options>] [<pid> | <user>]
pstree -V | --version

3.选项说明

代码语言:javascript
复制
-a, --arguments
	显示每个程序的完整指令,包含路径、参数或是常驻服务的标示。
-c, --compact-not
	不使用精简标示法。
-G
	使用 VT100 终端机的线条绘制字符。
-h, --highlight-all
	列出树状图时,特别标明执行的程序。
-H, --highlight-pid <pid>
	此参数的效果和指定"-h"参数类似,但特别标明指定的程序。
-l, --long
	采用长列格式显示树状图。
-n, --numeric-sort
	用程序识别码排序。预设是以程序名称来排序。
-p, --show-pids
	显示进程 ID。PID 在每个进程名称后面的括号中显示为十进制数字。-p 将隐式禁用压缩。
-u, --uid-changes
	显示 uid 转换。每当进程的 uid 与其父进程的 uid 不同时,新 uid 就会显示在进程名称后面的圆括号中。
-U, --unicode
	使用 UTF-8 线条绘制字符。
-V, --version
	显示版本信息。

4.常用示例

(1)以树状图显示进程。

代码语言:javascript
复制
pstree
systemd─┬─BT-Panel───{BT-Panel}
        ├─BT-Task─┬─python
        │         └─11*[{BT-Task}]
        ├─YDLive─┬─YDService─┬─sh───8*[{sh}]
        │        │           └─22*[{YDService}]
        │        └─9*[{YDLive}]
        ├─abrt-dbus───3*[{abrt-dbus}]
        ├─acpid
        ├─2*[agetty]
        ├─atd
        ├─auditd───{auditd}
        ├─barad_agent─┬─barad_agent
        │             └─barad_agent───2*[{barad_agent}]
        ├─crond
        ├─dbus-daemon
        ├─dhclient
        ├─iscsid
        ├─lsmd
        ├─lvmetad
        ├─ntpd
        ├─polkitd───6*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sgagent───{sgagent}
        ├─ss-server
        ├─sshd─┬─4*[sshd───sshd]
        │      └─sshd─┬─bash───pstree
        │             └─bash───man───less
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tat_agent───7*[{tat_agent}]
        └─tuned───4*[{tuned}]

(2)显示所有进程的所有详细信息。

代码语言:javascript
复制
pstree -a
systemd --switched-root --system --deserialize 22
  ├─BT-Panel /www/server/panel/BT-Panel
  │   └─{BT-Panel}
  ├─BT-Task /www/server/panel/BT-Task
  │   ├─(python)
  │   └─11*[{BT-Task}]
  ├─YDLive
  │   ├─YDService
  │   │   ├─sh -c sleep 100
  │   │   │   └─8*[{sh}]
  │   │   └─22*[{YDService}]
  │   └─9*[{YDLive}]
  ├─acpid
  ├─agetty --noclear tty1 linux
  ├─agetty --keep-baud 115200,38400,9600 ttyS0 vt220
  ├─atd -f
  ├─auditd
  │   └─{auditd}
  ├─barad_agent
  │   ├─barad_agent
  │   └─barad_agent
  │       └─2*[{barad_agent}]
  ├─crond -n
  ├─dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
  ├─dhclient -q -lf /var/lib/dhclient/dhclient--eth0.lease -pf /var/run/dhclient-eth0.pid -H VM-0-3-centos eth0
  ├─iscsid -f
  ├─lsmd -d
  ├─lvmetad -f
  ├─ntpd -u ntp:ntp -g
  ├─polkitd --no-debug
  │   └─6*[{polkitd}]
  ├─rsyslogd -n
  │   └─2*[{rsyslogd}]
  ├─sgagent -d
  │   └─{sgagent}
  ├─ss-server -c /etc/shadowsocks-libev/config.json -u
  ├─sshd -D
  │   ├─sshd
  │   │   └─sshd
  │   ├─sshd
  │   │   └─sshd
  │   └─sshd
  │       ├─bash
  │       │   └─pstree -a
  │       └─bash
  │           └─man pstree
  │               └─less -s
  ├─systemd-journal
  ├─systemd-logind
  ├─systemd-udevd
  ├─tat_agent
  │   └─7*[{tat_agent}]
  └─tuned -Es /usr/sbin/tuned -l -P
      └─4*[{tuned}]

(3) 显示当前所有进程的进程 ID。

代码语言:javascript
复制
pstree -p
systemd(1)─┬─ModemManager(676)─┬─{ModemManager}(716)
           │                   └─{ModemManager}(719)
           ├─NetworkManager(680)─┬─dhclient(9982)
           │                     ├─{NetworkManager}(745)
           │                     └─{NetworkManager}(749)
           ├─VGAuthService(681)
           ├─abrt-watch-log(671)
           ├─abrt-watch-log(672)
           ├─abrtd(632)

(4)显示指定进程号树状信息。

代码语言:javascript
复制
pstree 1451
sshd───sshd─┬─bash───pstree
            └─bash───man───less

(5)显示进程树信息,结合管道。

代码语言:javascript
复制
pstree | less

参考文献

pstree(1) - Linux manual page - man7.org

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 1.命令简介
  • 2.命令格式
  • 3.选项说明
  • 4.常用示例
  • 参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档