pstree命令用于查看麒麟系统中进程的父子派生关系;默认以当前用户为根显示简化树形结构,加-p显示pid、-u显示用户、-a显示完整命令行,组合使用可精准定位进程来源与用途。

在麒麟系统中需要理清进程之间的父子派生关系,比如排查某个服务启动后衍生出哪些子进程、确认某个异常进程是否由sshd或systemd拉起,就必须用命令行查看清晰的进程树结构。
基础进程树查看
执行pstree不加任何参数,会以当前登录用户为起点展示简化后的进程层级。它自动合并同名进程(如多个bash只显示一次),用缩进和─┬─/─└─符号体现父子与兄弟关系,根节点通常是systemd或init。
打开终端,输入pstree并回车。
观察输出:最左侧无缩进的是顶层进程,右侧逐级缩进的是其子进程;同一层级的多个进程之间用─┬─连接,最后一个用─└─收尾。
显示PID与用户归属
仅看进程名容易混淆,比如多个python3可能属于不同用户、不同用途。加上-p可看到每个进程真实的PID,加上-u能明确标注启动者,二者组合使用是日常分析的黄金搭配。
方法一:同时显示PID和用户——执行命令:【pstree -pu】。
方法二:只聚焦某用户——执行命令:pstree -pu username(将username替换为实际用户名,如pstree -pu john)。
注意:若目标用户为系统账户(如root、syslog),需加sudo权限才能完整显示其全部进程分支,否则部分守护进程会被过滤。
展开完整命令行参数
同名进程太多时,光看python3或java无法判断具体跑的是哪个脚本或JAR包。-a选项强制还原启动时的完整命令行,包括路径、参数、环境标志,是区分同类进程的关键依据。
第一步:运行pstree -ap。
第二步:在输出中查找类似python3 /opt/app/main.py --debug或java -jar /srv/app.jar -Xms512m的整行内容。
第三步:若已知某主进程PID(如nginx主进程PID为1204),直接执行pstree -ap 1204,即可只显示该进程及其全部子孙,避免全量输出干扰判断。











