12.5 Linux查看进程树(pstree命令)

举报
开源Linux 发表于 2022/05/01 23:25:57 2022/05/01
【摘要】 pstree 命令是以树形结构显示程序和进程之间的关系,此命令的基本格式如下:[root@localhost ~]# pstree [选项] [PID或用户名]表 1 罗列出了 pstree 命令常用选项以及各自的含义。选项含义-a显示启动每个进程对应的完整指令,包括启动进程的路径、参数等。-c不使用精简法显示进程信息,即显示的进程中包含子进程和父进程。-n根据进程 PID 号来排序输出,默...

pstree 命令是以树形结构显示程序和进程之间的关系,此命令的基本格式如下:

[root@localhost ~]# pstree [选项] [PID或用户名]

表 1 罗列出了 pstree 命令常用选项以及各自的含义。

选项 含义
-a 显示启动每个进程对应的完整指令,包括启动进程的路径、参数等。
-c 不使用精简法显示进程信息,即显示的进程中包含子进程和父进程。
-n 根据进程 PID 号来排序输出,默认是以程序名排序输出的。
-p 显示进程的 PID。
-u 显示进程对应的用户名称。

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

init 进程是系统启动的第一个进程,进程的 PID 是 1,也是系统中所有进程的父进程。

【例 1】

[root@1ocalhost ~]# pstree
init──┬──abrc-dump-oopa
├──abrtd
├──acpid
...省略部分输出...
├──rayslogd───3*[{rsyslogrd}]
\#有3个rsyslogd进程存在
├──sshd───sshd───bash───pstree
\#Pstree命令进程是在远程连接中被执行的
├──udevd───2*[udevd]
└──xinecd

【例 2】如果想知道某个用户都启动了哪些进程,使用 pstree 命令可以很容易实现,以 mysql 用户为例:

[root@1ocalhost ~]# pstree mysql
mysqid---6*[{mysqid}]

此输出结果显示了 mysql 用户对应的进程为 mysqid,并且 mysqid 进程拥有 5 个子进程(外加 1 个父进程,共计 6 个进程)。

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。