Linux提供pstree、ps --forest、htop和systemctl list-dependencies四种命令查看进程父子关系:pstree以树状图展示层级;ps --forest配合选项输出缩进树形进程列表;htop交互式树状视图支持展开/搜索;systemctl list-dependencies显示systemd服务依赖树。

如果您需要了解当前系统中进程之间的父子关系,Linux 提供了多种命令可以将进程以树状结构可视化呈现。以下是实现该目标的具体方法:
一、使用 pstree 命令查看进程树
pstree 命令专用于以树状图形式显示进程及其子进程的层级关系,它默认以 init 或 systemd 为根节点,直观展示进程的派生结构。
1、在终端中直接输入 pstree 并回车,显示所有用户的进程树(以 init/systemd 为根)。
2、输入 pstree -u 显示每个进程所属的用户名,便于识别权限上下文。
3、输入 pstree -p 在每个进程名后附加其 PID,方便后续定位或管理特定进程。
4、输入 pstree -a 显示进程启动时的完整命令行参数,有助于分析异常行为来源。
5、输入 pstree $USER 仅显示当前用户启动的进程树,减少干扰信息。
二、使用 ps 命令配合 --forest 参数
ps 命令是通用的进程状态查看工具,其 --forest 选项可强制以缩进树状格式输出进程,兼容性高且支持精细筛选。
1、执行 ps --forest -eo pid,ppid,cmd 列出所有进程的 PID、父进程 PID 及命令,按树形缩进排列。
2、执行 ps --forest -C nginx 仅显示名称为 nginx 的进程及其子进程构成的局部树。
3、执行 ps --forest -U root 展示 root 用户启动的所有进程及其派生关系。
三、使用 htop 命令启用树状视图
htop 是交互式进程查看器,需提前安装;其树状模式允许实时滚动、搜索和动态展开/折叠分支,适合调试复杂进程依赖。
1、运行 htop 进入交互界面。
2、按下 F5 键切换至树状视图模式,进程按父子关系分层缩进显示。
3、使用方向键上下移动光标,选中某进程后按 Shift+F7 可展开其全部子进程分支。
4、按 / 输入关键词(如 python)进行树内进程名搜索,匹配项自动高亮并居中。
四、使用 systemctl list-dependencies 查看服务进程依赖树
对于由 systemd 管理的服务单元,该命令可递归列出其依赖的其他服务,间接反映相关进程的启动顺序与层级关联。
1、执行 systemctl list-dependencies --all sshd.service 查看 sshd 服务及其所有正向依赖服务。
2、执行 systemctl list-dependencies --reverse nginx.service 查看哪些服务依赖于 nginx.service,反向定位调用方。
3、添加 --type=service 参数限制只显示服务类型依赖,排除 target、socket 等非进程类单元。










