
Linux 学习资料 https://pan.baidu.com/s/1A6qqBk2ViE_Le2cQjSowkQ?pwd7uz8一、命令简介pstree 是一个 Linux/Unix 系统工具用于以树状图的形式直观展示系统中进程之间的派生关系父子进程关系。它能够清晰地显示进程的层次结构帮助用户理解进程间的从属关系是系统监控和问题排查的常用工具。二、语法格式基本语法格式如下bash运行pstree [选项] [进程ID | 用户名]参数说明[选项]用于控制输出格式和内容的各类选项详见下文。[进程 ID]指定一个进程 IDPIDpstree 将只显示以此进程为根的子树。[用户名]指定一个用户名pstree 将只显示属于该用户的进程树。如果未指定任何参数pstree 将以 init 或 systemd现代系统进程为根显示整个系统的进程树。三、常用选项及说明以下表格列出了 pstree 的常用选项及其说明表格选项说明-a显示每个进程的完整命令行包括路径和参数。-c禁用兄弟进程的 “压缩” 显示。默认情况下相同的子树会被合并显示。-h高亮显示当前进程及其祖先进程。-H PID与 -h 类似但高亮显示指定 PID 的进程及其祖先。-l使用长格式显示。不截断过长的命令行。-n按进程 IDPID排序进程而不是默认的按进程名排序。-p在进程名后显示进程 IDPID格式为 进程名 (PID)。-u显示进程的所属用户。当进程的权限与父进程不同时用户名会显示在进程名后的括号内如 sshd (1234, bob)。-G使用 VT100 终端的线图字符绘制树状图可能在某些终端下显示效果更好。-U使用 UTF-8Unicode字符绘制树状图通常显示效果更美观推荐在支持 UTF-8 的终端中使用。-A使用 ASCII 字符绘制树状图兼容性最好。-V显示 pstree 命令的版本信息。四、示例用法以下是一些常见的使用示例示例 1显示基本的进程树bash运行pstree显示以 systemd 或 init 为根的整个系统进程树相同进程名的分支会被压缩。示例 2显示进程及其 PIDbash运行pstree -p这是最常用的组合之一可以清晰地看到每个进程对应的 ID便于后续操作如发送信号。示例 3显示完整命令行bash运行pstree -a查看进程启动时的完整命令和参数常用于排查服务配置或脚本执行问题。示例 4查看特定进程的子树bash运行pstree -p 1234只显示 PID 为 1234 的进程及其所有子进程的树状图。示例 5查看特定用户的进程bash运行pstree -u bob只显示用户 bob 启动的进程树。示例 6组合使用选项bash运行pstree -apu同时显示完整命令行 (-a)、PID (-p) 和用户信息 (-u)信息非常全面。示例 7查找特定进程结合 grepbash运行pstree -p | grep nginx在进程树中查找包含 “nginx” 的行快速定位 Nginx 相关进程及其父子关系。示例 8高亮显示当前 Shell 进程bash运行pstree -h代表当前 Shell 的 PID。此命令会高亮显示你正在使用的 Shell 在整棵进程树中的位置。五、注意事项权限限制非 root 用户运行 pstree 时可能无法看到其他用户的进程详细信息如完整命令行部分进程也可能被隐藏。进程命名默认情况下pstree 会合并具有相同名称和参数的兄弟进程并用一个数字前缀表示数量如 5*[bash]。使用 -c 选项可以禁用此功能。终端兼容性-G 和 -U 选项依赖于终端的图形字符支持。如果显示乱码可以尝试使用 -A 选项强制使用 ASCII 字符或检查终端的本地化设置如 LANG 环境变量。进程瞬时性pstree 显示的是运行该命令瞬间的进程状态快照。在繁忙的系统中进程树可能时刻在变化。与 ps 命令的区别ps 命令提供进程的详细列表信息而 pstree 专注于展示进程间的层次关系。两者常结合使用以全面了解系统进程状态。Linux 学习资料 https://pan.baidu.com/s/1A6qqBk2ViE_Le2cQjSowkQ?pwd7uz8