文章目录
- 1、基本用法
- 2、常见选项
- 3、举例
- 4、注意事项
pstree
命令在 Linux 中用于以树状结构显示进程及其子进程的层次结构。它提供了一种直观的方式来查看进程的父子关系,与
ps
命令的线性输出相比,
pstree
更容易理解进程的继承关系
1、基本用法
pstree [选项] [PID或用户]
2、常见选项
-P
:按照PID排序显示。-n
:以数字形式显示UID和GID。-h
:显示帮助信息。-c
:显示进程的PID、父PID、CPU使用率、内存使用率等信息。-u
:显示进程的UID。-G
:仅显示属于特定组的进程。-s
:显示进程的父PID。-A
:使用 ASCII 字符表示连接线,而不是默认的 UTF-8 字符。-l
:显示进程的线程。-Z
:显示 SELinux 上下文信息--version
:显示版本信息。-a
:显示命令行参数。-H
:高亮显示指定的 PID 及其子进程树,使用时可以帮助聚焦在特定进程上。-p
:显示进程的PID。-U
:仅显示特定用户的进程。
3、举例
-p 选项举例:
#显示每个进程的 PID
pstree -p
-n 选项举例:
#按 PID 顺序对同级进程排序,而不是按字母顺序
pstree -n
-h 选项举例:
#高亮显示当前进程及其祖先进程树(默认颜色通常是红色)
pstree -h
-c 选项举例:
#显示进程树时,不合并相同名称的进程(默认情况下,pstree 会合并相同名称的进程,使用中括号标识进程数)
pstree -c
-u 选项举例:
#显示进程所属的用户。
pstree -u
-g 选项举例:
#显示进程所属的进程组 ID (PGID)
pstree -g
-s 选项举例:
#显示进程的祖先进程树,直到 init 进程
pstree -s 29572
-A 选项举例:
#使用 ASCII 字符表示连接线,而不是默认的 UTF-8 字符
pstree -A
-l 选项举例:
#显示完整的进程名称。如果进程名称太长,默认情况下 pstree 会截断显示,使用 -l 可以避免截断
pstree -l
-Z 选项举例:
#显示 SELinux 上下文信息
pstree -Z
-V 选项举例:
#显示 pstree 的版本信息
pstree -V
-a 选项举例:
#显示进程的完整命令行,包括其启动参数
pstree -a
-H 选项举例:
#高亮显示指定的 PID 及其子进程树,使用时可以帮助聚焦在特定进程上
pstree -H 29572
4、注意事项
大进程树的性能
- 在系统上运行大量进程时,
pstree
的输出可能非常大,导致性能下降。结合-l
、-c
等选项使用可以帮助控制输出的复杂性。
命令输出的完整性
- 默认情况下,进程名称或命令行参数过长会被截断,使用
-l
选项可以避免这种情况,确保你看到的是完整的输出。
权限问题
- 普通用户只能查看属于自己的进程。要查看系统上所有用户的进程,需要使用
root
权限或在sudo
环境下执行pstree
。
显示进程的实际层次关系
pstree
显示的是进程的实际父子关系,有时进程管理工具或守护进程会使这种关系变得复杂,因此理解进程的上下文很重要。