应先用top或ps定位高CPU进程,再优先发送SIGTERM优雅终止,无响应时才用kill-9强制结束,避免数据丢失或资源未释放。

发现某个进程把 CPU 占满,系统变卡、响应迟缓,这时候需要快速定位并终止它。关键不是一上来就“狂按 kill -9”,而是先看清是谁、再选对方式——既有效,又避免副作用。
第一步:快速定位高 CPU 进程
用 top 实时查看,它默认按 CPU 使用率降序排列,最上面几个就是“嫌疑最大”的:
- 运行
top,按 Shift+P(确保按大写)可再次确认按 CPU 排序 - 看 %CPU 列,重点关注持续 >80% 甚至接近 100% 的进程
- 记下它的 PID(第一列)和 COMMAND(最后一列)
如果想一次性查出所有 CPU 占用超阈值的进程,可用:
ps aux --sort=-%cpu | head -n 11 —— 显示 CPU 占用前 10 的进程
第二步:尝试优雅终止(推荐优先执行)
大多数情况下,进程只是卡住或忙于计算,并非完全无响应。先发 SIGTERM(信号 15),给它机会自己收尾:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
kill 12345(12345 是你查到的 PID) - 等 3–5 秒,再运行
top或ps -p 12345确认是否已退出
这一步能防止文件未保存、端口未释放、数据库连接未断开等问题。
第三步:确认无响应后再强制终止
如果 kill 后进程仍在,且 ps -p 12345 仍返回信息,说明它确实“僵住”了,此时才启用 SIGKILL:
-
kill -9 12345或kill -KILL 12345 - 立即检查:
ps -p 12345应返回 “No such process”
注意:-9 不可被进程捕获或忽略,但也不会做任何清理——只在别无选择时使用。
补充技巧:按名称批量处理(慎用)
若确认是某个程序(如 python、node)的多个实例集体失控,可配合条件筛选后终止:
- 只杀当前用户下所有高 CPU 的 python 进程:
pkill -u $USER -f "python.*script" - 杀全部名为
chrome的进程(含子进程):killall -9 chrome - 更安全的做法是先
pkill -f "xxx"(不带-9),失败再加-9

















