学习一个 Linux 命令:pstree

linux在工作中用的越来越多,接下来为大家介绍一下比较常用的命令pstree的使用方法

学习一个 Linux 命令:pstree学习一个 Linux 命令:pstree

命令简介

pstree 命令以树状图的方式展现进程之间的派生关系。

[root@centos7 ~]# pstree
-bash: pstree: command not found
[root@centos7 ~]# yum install psmisc -y

语法格式

pstree [OPTIONS]

选项说明

-a  #显示每个程序的完整指令
-c  #不使用精简标示法
-G  #使用VT100终端机的列绘图字符
-h  #列出树状图时,特别标明现在执行的程序
-H<程序识别码>  #此参数的效果和指定"-h"参数类似
-l  #采用长列格式显示树状图
-n  #用程序识别码排序
-p  #显示程序识别码
-u  #显示用户名称
-U  #使用UTF-8列绘图字符
-V  #显示版本信息

应用举例

[root@centos7 ~]# pstree
systemd─┬─NetworkManager───2*[{NetworkManager}]
        ├─agetty
        ├─auditd───{auditd}
        ├─chronyd
        ├─crond
        ├─dbus-daemon
        ├─lvmetad
        ├─master─┬─pickup
        │        └─qmgr
        ├─polkitd───6*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd─┬─sshd───bash─┬─gzip
        │      │             ├─more
        │      │             └─pstree
        │      └─sshd───bash
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        └─tuned───4*[{tuned}]

显示系统当前所有进程的进程ID和进程号

[root@centos7 ~]# pstree -p
systemd(1)─┬─NetworkManager(634)─┬─{NetworkManager}(656)
           │                     └─{NetworkManager}(658)
           ├─agetty(643)
           ├─auditd(600)───{auditd}(601)
           ├─chronyd(646)
           ├─crond(638)
           ├─dbus-daemon(626)
           ├─lvmetad(503)
           ├─master(972)─┬─pickup(5692)
           │             └─qmgr(974)
           ├─polkitd(623)─┬─{polkitd}(633)
           │              ├─{polkitd}(636)
           │              ├─{polkitd}(637)
           │              ├─{polkitd}(641)
           │              ├─{polkitd}(647)
           │              └─{polkitd}(651)
           ├─rsyslogd(870)─┬─{rsyslogd}(897)
           │               └─{rsyslogd}(898)
           ├─sshd(868)─┬─sshd(5304)───bash(5306)─┬─gzip(5328)
           │           │                         ├─more(5329)
           │           │                         └─pstree(6204)
           │           └─sshd(5546)───bash(5548)
           ├─systemd-journal(484)
           ├─systemd-logind(635)
           ├─systemd-udevd(509)
           └─tuned(872)─┬─{tuned}(1131)
                        ├─{tuned}(1132)
                        ├─{tuned}(1134)
                        └─{tuned}(1138)

显示所有进程的详细信息,相同的进程名可以压缩显示

[root@centos7 ~]# pstree -a
systemd --switched-root --system --deserialize 22
  ├─NetworkManager --no-daemon
  │   └─2*[{NetworkManager}]
  ├─agetty --noclear tty1 linux
  ├─auditd
  │   └─{auditd}
  ├─chronyd
  ├─crond -n
  ├─dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
  ├─lvmetad -f
  ├─master -w
  │   ├─pickup -l -t unix -u
  │   └─qmgr -l -t unix -u
  ├─polkitd --no-debug
  │   └─6*[{polkitd}]
  ├─rsyslogd -n
  │   └─2*[{rsyslogd}]
  ├─sshd -D
  │   ├─sshd
  │   │   └─bash
  │   │       ├─gzip -cd mysql_backup.tar.gz
  │   │       ├─more
  │   │       └─pstree -a
  │   └─sshd
  │       └─bash
  ├─systemd-journal
  ├─systemd-logind
  ├─systemd-udevd
  └─tuned -Es /usr/sbin/tuned -l -P
      └─4*[{tuned}]

查看指定进程的PID

[root@centos7 ~]# pstree -p | grep ssh
           |-sshd(868)-+-sshd(5304)---bash(5306)-+-grep(6325)
           |           `-sshd(5546)---bash(5548)
[root@centos7 ~]# pstree -p | grep system
systemd(1)-+-NetworkManager(634)-+-{NetworkManager}(656)
           |-systemd-journal(484)
           |-systemd-logind(635)
           |-systemd-udevd(509)

本文地址:https://www.linuxprobe.com/learn-linux-pstree.html

### 回答1: Linux中的`pstree`命令可以以树形结构展示进程之间的关系。它可以展示当前系统中所有进程的父子关系,并且将它们以一种易于理解的方式呈现出来。 使用`pstree`命令时可以带上不同的选项,例如: - `-p`:显示进程ID - `-u`:显示进程所有者的用户名 - `-h`:高亮当前进程以及它的父进程 例如,我们可以使用以下命令查看当前系统中所有进程的父子关系: ``` pstree ``` 输出结果将会是树形结构的进程关系图。 ### 回答2: pstree一个Linux系统中使用的命令,用于显示当前系统中所有进程的层次结构树。它以树状的形式展示了进程的父子关系,使得用户能够更清晰地了解进程之间的关联。 当我们在终端中输入pstree命令时,系统会根据根进程(init进程)将进程分为不同的层级,每个层级下的进程都以树状图的形式展示。树的根表示init进程,而它的子进程则表示其直接子进程。略微深入一些,子进程的子进程将会在树形图中构造一个层次结构。 通过使用pstree,我们可以方便地查看特定进程的父子关系。在每个进程的名称旁边,通常会有一些附加信息,如进程ID(PID)和状态。这些信息通常用颜色区分以提高可视性。 此外,pstree还为我们提供了额外的选项,如-a,该选项可以显示进程的命令行参数;-s,该选项可以按照进程的进程组来排序。 总之,pstree一个实用的工具,可以展示进程间的层次关系,为我们在Linux系统中进行系统管理和故障排查提供了便利。通过查看进程层级结构,我们可以更好地理解系统中进程的关联并更好地管理它们。 ### 回答3: pstree一个Linux命令,它可以以树状结构显示当前系统中的进程。这个命令非常有用,特别是在需要查看进程之间的父子关系时。 要使用pstree命令,只需在终端中输入"pstree"即可。默认情况下,它会显示当前用户的所有进程,将它们按照父子关系组织成树状结构,并在屏幕上打印出来。 pstree的树状结构非常直观,以进程ID(PID)为节点,用箭头连接父进程和子进程。根据树的层级,可以清晰地了解进程之间的关系。通过此命令,可以快速了解系统中哪些进程彼此相关或直接相互依赖。 同时,pstree还会标识出各个进程的名称和状态。常见的进程状态有"R"表示运行中,"S"表示休眠中,"T"表示停止或暂停,"Z"表示僵尸进程等等。这些信息可以帮助我们更好地了解系统中进程的运行情况。 除了默认情况下显示全部进程,我们还可以通过一些选项来指定显示某个特定进程,或者只显示某个用户的进程等等。在实际使用时,根据需要选择对应的选项即可。 总之,pstree命令一个非常有用的工具,可以方便地查看Linux系统中的进程,并了解它们之间的父子关系。对于系统管理员和开发人员来说,使用pstree可以更好地管理和调试进程,提高系统的稳定性和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值