在 Linux 中批量杀进程常见有几种方式,按是否按名称、端口、用户、条件来选最合适的方法即可。下面给你常用且安全的做法。
pkill -f "进程名关键字"
示例:
pkill -f java
pkill -f "python test.py"
-f表示按完整命令行匹配,不只是进程名
ps aux | grep 进程名 | grep -v grep | awk '{print $2}' | xargs kill -9
示例:
ps aux | grep python | grep -v grep | awk '{print $2}' | xargs kill -9
✅ 建议先不加 kill -9 看 PID 是否正确:
ps aux | grep python | grep -v grep
lsof -i:8080
kill -9 $(lsof -t -i:8080)
或:
fuser -k 8080/tcp
pkill -u 用户名
或:
killall -u 用户名
⚠️ 会杀掉该用户所有进程,慎用
ps aux --sort=-%cpu | awk 'NR>1 && NR<=6 {print $2}' | xargs kill -9
ps aux --sort=-%mem | awk 'NR>1 && NR<=6 {print $2}' | xargs kill -9
kill -9 $(seq 1000 2000)
1️⃣ 先查
ps aux | grep xxx
2️⃣ 再杀
pkill -f xxx
3️⃣ 确认
ps aux | grep xxx
| 命令 | 说明 |
|---|---|
kill PID |
正常终止 |
kill -9 PID |
强制杀死(可能丢数据) |
kill -15 PID |
优雅终止(推荐) |
如果你愿意,可以告诉我:
我可以给你一条最安全、最精确的命令 ✅