麒麟OS中可直接用pkill -9 关键词批量终止所有匹配进程,无需手动查PID;若需精准控制,可用pgrep -f“关键词”筛选后配合kill -9执行,或用killall -9按可执行文件名终止进程组,并支持-u参数限定用户范围防误杀。

你在麒麟OS中发现多个同名或含相同关键词的进程同时运行,比如“wps”主程序、PDF阅读器、演示组件全在后台占资源,手动查PID再逐个kill太慢,需要一条命令批量清理。
用pkill按名称一键终止所有匹配进程
这是最直接的方法,不需要先查PID,输入进程名就能全部干掉。
打开终端(Ctrl + Alt + T),执行:
pkill -9 关键词
例如要杀掉所有含“wps”的进程:
pkill -9 wps
这条命令会向所有命令名或完整命令行中包含“wps”的进程发送SIGKILL信号——它不区分大小写,也不管你是wps、wpp还是et,只要启动命令里带这个字符串,统统强制终结。
【注意:pkill默认匹配的是进程名(comm字段),不是完整命令行;若进程伪装成sh -c "xxx"或python3 app.py,必须加-f参数】
用pgrep + kill组合精准筛选后批量终结
当你担心误杀系统进程,或关键词太泛(比如搜“agent”可能命中systemd-networkd),就需要先看清楚再动手。
第一步:列出所有匹配进程的PID和完整命令行
pgrep -l -f "关键词"
例如:
pgrep -l -f "sunlogin"
输出类似:
12456 /usr/bin/sunloginclient
12457 /usr/bin/sunloginclient --daemon
第二步:确认无误后,把这一整串PID交给kill -9执行
kill -9 $(pgrep -f "关键词")
这相当于把上一步查到的所有数字自动填进kill命令里,避免手输错误。括号里的pgrep先跑,结果立刻传给kill,中间不经过人工抄写环节。
第三步:验证是否清空
ps -p $(pgrep -f "关键词") 2>/dev/null
如果命令回车后什么也不输出,说明一个不剩,全部消失。
用killall按可执行文件名终止同类进程组
killall适用于你明确知道程序的二进制文件名,且希望只杀真正由该文件启动的实例,不碰改名或封装过的变体。
执行:
killall -9 进程名
例如:
killall -9 chrome
它只会匹配/proc/[pid]/comm字段等于chrome的进程,不会误伤/usr/lib/chromium/chrome或chromium-browser这类不同文件名的启动项。
如果不确定是否安全,先加-i参数交互式确认:
killall -i -9 chrome
每匹配一个进程都会弹出提示,输入y才杀,输入n跳过——适合第一次操作时心里没底的情况。
【关键提醒:killall对大小写敏感,chrome ≠ Chrome;若实际进程名是大写开头,必须写killall -9 Chrome】
按用户范围限定,防止波及其他账户进程
当你用sudo执行命令时,默认会扫全系统进程,但有些服务(如nginx、mysql)可能是root起的,而你只想关自己账号下跑的测试实例。
方法一:只杀当前用户进程
pkill -9 -u $USER 关键词
方法二:只杀指定用户名下的进程
pkill -9 -u nginx php-fpm
方法三:用pgrep配合-u过滤后再传给kill
kill -9 $(pgrep -u $USER -f "node server.js")
这三步都加了-u参数,确保指令只作用于目标用户空间,不会误触系统级守护进程或他人正在调试的服务。

















