需借助pstree、ps --forest、systemctl list-dependencies和htop四种工具分析麒麟os进程树:pstree直观展示层级;ps -ef --forest文本模拟树状;systemctl揭示服务依赖;htop提供交互式树视图。

如果您需要理清麒麟OS中各进程之间的父子关系与启动依赖链,则需借助专门显示进程树结构的工具。以下是实现该目标的具体方法:
一、使用pstree命令直观展示进程层级
pstree命令专用于将系统中所有进程以树状结构可视化呈现,清晰标识父进程与子进程的隶属关系,便于识别服务启动链、排查异常子进程来源。
1、在终端中输入pstree并回车,以默认用户视角显示当前会话及其子进程构成的树形图。
2、若需显示全部用户进程(含root及其他用户),执行:pstree -a,其中-a选项启用完整命令行参数显示。
3、如需同时显示各进程PID,在命令后添加-p参数:pstree -p,每个进程名后将附带括号标注其PID。
4、若仅关注特定用户的进程树,例如用户kylin,运行:pstree -u kylin,输出中用户归属将被明确标注。
二、使用ps命令配合forest选项生成树状列表
ps命令虽默认为平面列表,但通过-f(full-format)与--forest参数组合,可在文本模式下模拟进程树结构,适用于不支持pstree环境或需导出分析的场景。
1、在终端中执行:ps -ef --forest,输出中以缩进层级表示父子关系,父进程位于上方,其直接子进程向右缩进显示。
2、如需筛选某主进程(如systemd)及其全部后代,可结合grep:ps -ef --forest | grep systemd,注意需保留原始缩进以维持树形可读性。
3、为增强可读性,可追加--headers确保列标题显示,并用less分页查看:ps -ef --forest --headers | less。
三、使用systemctl命令查看服务单元依赖树
对于由systemd管理的服务进程,systemctl提供原生依赖关系图功能,能准确反映服务启动顺序、Requires、Wants及BindsTo等逻辑关联,适用于系统级服务架构分析。
1、查看指定服务(如sshd)的启动依赖树,执行:systemctl list-dependencies sshd.service,默认显示正向依赖(被该服务要求启动的单元)。
2、若需查看反向依赖(即哪些服务依赖于该服务),添加--reverse参数:systemctl list-dependencies --reverse sshd.service。
3、如需展开全部层级(包括间接依赖),追加--all选项:systemctl list-dependencies --all sshd.service,输出将包含active/inactive状态标识。
四、使用htop命令在交互界面中展开进程树视图
htop作为top的增强替代品,内置树状视图模式,支持实时滚动、键盘导航与动态折叠,适合交互式逐层探查进程结构。
1、在终端中输入htop并回车,进入交互界面。
2、按下F5键切换至树状视图(Tree View),所有进程按父-子关系垂直分组排列,父进程左侧带“+”号可展开/折叠其子进程分支。
3、使用方向键上下移动光标至某父进程,再按空格键可高亮标记该进程及其全部后代,便于后续操作(如kill)。
4、按F2进入设置菜单,在“Display options”中勾选“Tree view”可设为默认启动视图。










