在麒麟系统中快速定位运行程序的pid有四种方法:一是用ps -ef | grep 进程名模糊查找;二是用ps aux | grep '路径'匹配含空格或参数的进程;三是用pgrep -u 用户名精准提取某用户所有pid;四是用pidof /绝对路径直接获取指定二进制文件的pid。

在麒麟系统中快速定位某个正在运行的程序对应的进程号(PID),是执行kill、strace、lsof或调试操作前必须完成的基础动作。没有PID,后续所有针对性操作都无法开展。
用ps命令按名称模糊查找PID
这是最常用、响应最快的方法,适合已知进程名(如nginx、java、chrome)但不确定是否精确匹配全称的场景。
执行命令:ps -ef | grep nginx,输出中第二列即为PID;若看到多个结果,注意排除grep自身那行(它也会出现在列表里)。
如果进程名含空格或启动参数复杂(如python3 /opt/app/main.py),直接grep主命令可能漏掉,此时改用ps aux | grep 'main\.py'——用单引号包裹并转义点号,确保匹配脚本路径。
用pgrep精准提取某用户下所有PID
当你要批量获取属于某个用户的全部进程ID(比如清理testuser的所有残留进程),pgrep比ps更干净利落,不带任何表头和冗余字段。
方法一:只输出PID数字列表——执行pgrep -u testuser。
方法二:同时显示进程名便于核对——执行pgrep -lu testuser,输出格式为“12345 python3”。
【注意:pgrep默认不扫描由systemd --user启动的桌面服务进程,如需包含,请加--session参数】
用pidof直接获取指定可执行文件的PID
当你明确知道进程对应的是哪个二进制文件(例如/usr/bin/nginx或/bin/bash),且该文件未被重命名或软链接干扰时,pidof一步到位。
第一步:确认可执行文件绝对路径,可用which nginx验证。
第二步:执行pidof /usr/bin/nginx,返回空格分隔的一串数字,即所有匹配进程的PID。
第三步:若返回为空,说明当前无该路径启动的进程——不是命令写错,就是进程根本没跑起来。
图形界面中通过系统监视器查看PID
打开“系统监视器”→切换到“进程”选项卡→点击“PID”列标题排序→找到目标进程后,其第一列数值即为PID。
这一步操作起来很简单,直接看数字就行,但要注意:图形界面工具默认只显示当前用户进程,看不到root或其他用户的PID,需要切换用户或提权才完整。











