Linux常用命令学习笔记:pstree

一、命令简介

pstree(Process Tree)是Linux系统中用于以树状结构显示进程层次关系的命令。它能够直观地展示进程之间的父子关系,比传统的ps命令更便于理解进程的派生结构。

二、基本语法

pstree [选项] [进程ID|用户名]

如果不指定进程ID或用户名,默认以系统启动时的第一个进程(通常是init或systemd)为根节点显示所有进程。

三、常用选项详解

选项功能说明
-a显示每个进程的完整命令行及参数
-c不使用精简标示法,遇到重复进程名时分别列出
-h高亮显示当前正在执行的程序
-H <PID>高亮显示指定PID的进程及其祖先进程
-l采用长列格式显示,不截断过长的行
-n按进程PID排序,而不是按进程名称排序
-p显示进程的PID(进程识别码)
-u显示进程所属的用户名称
-G使用VT100终端机的列绘图字符
-U使用UTF-8列绘图字符
-V显示版本信息

四、安装方法

pstree命令通常包含在procps-ngpsmisc软件包中: Debian/Ubuntu系统:

sudo apt update
sudo apt install procps-ng
# 或
sudo apt install psmisc

CentOS/RHEL系统:

# CentOS 7及更早版本
sudo yum install procps-ng

# CentOS 8/RHEL 8及以上版本
sudo dnf install procps-ng

Arch Linux系统:

sudo pacman -S psmisc

五、使用示例

1. 基本使用

pstree

显示系统所有进程的树状结构,以init或systemd为根节点。

2. 显示进程PID

pstree -p

在每个进程名称后显示其PID,便于进程管理。

3. 显示完整命令行

pstree -a

显示每个进程的完整命令路径和参数。

4. 显示指定用户的进程

pstree username

仅显示指定用户拥有的进程。

5. 显示指定进程的子树

pstree -p 1234

以PID为1234的进程为根节点,显示其子进程树。

6. 同时显示用户信息

pstree -u

在进程树中同时显示进程所属的用户名称。

7. 高亮显示当前进程

pstree -h

高亮显示当前正在执行的进程及其所有祖先进程。

六、应用场景

  1. 进程关系分析:快速查看某个进程的父进程链和子进程树
  2. 系统调试:分析守护进程及其子进程的运行状态
  3. 资源监控:结合其他工具(如top)监控系统进程结构
  4. 多进程应用调试:查看多进程应用的进程派生关系

七、注意事项

  • 默认情况下,相同名称的进程会使用*号进行压缩显示,使用-c选项可以禁用此功能
  • 使用-l选项可以避免长行被截断,提高可读性
  • pstree命令适合静态分析进程关系,而htop等工具更适合交互式进程管理

作 者:南烛
链 接:https://www.itnotes.top/archives/626
来 源:IT笔记
文章版权归作者所有,转载请注明出处!


上一篇
下一篇