linux pstree命令

概述

显示所有服务器上的进程,以树状的形式表示其关系

基本格式

pstree [选项] [PID或用户名]

选项

选项

含义

-a

显示启动每个进程对应的指令、参数等。

-c

不使用精简法显示进程信息,即显示的进程中包含子进程和父进程。

-n

根据进程 PID 号来排序输出,默认是以程序名排序输出的。

-p

显示进程的 PID

-u

显示父子进程用户转换时对应的用户名称。

精简格式

pstree命令默认会使用精简格式。

把相同的若干进程合并再一起,如:

           init-+-getty
                |-getty
                |-getty
                ‘-getty

           变成

           init---4*[getty]

同一进程启动若干线程,也可以合并,如:

icecast2---13*[{icecast2}]

解释

需要注意的是,在使用 pstree 命令时,如果不指定进程的 PID 号,也不指定用户名称,则会以 init 进程为根进程,显示系统中所有程序和进程的信息;反之,若指定 PID 号或用户名,则将以 PID 或指定命令为根进程,显示 PID 或用户对应的所有程序和进程。

示例

1、展示服务器上所有进程的关系

pstree

结果展示

init─┬─bash───odin-super-agen─┬─dfagent───51*[{dfagent}]
     │                        └─4*[{odin-super-age}]
     ├─bifrost2-agent───57*[{bifrost2-agent}]
     ├─client─┬─client─┬─php_scanner
     │        │        └─21*[{client}]
     │        └─19*[{client}]

2、展示某一用户的所有进程,并展示进程id

pstree -p tonyzhangle

结果展示

odin-dils-sshd(47061)───bash(47069)───pstree(27899)

3、展示以某一进程id为根的进程关系,且当所属用户发生变化时进行展示

pstree -u 4752

crond───crond─┬─sendmail(xiaoju)───postdrop
              └─sh(xiaoju)

你可能感兴趣的:(操作系统,linux,运维,服务器)