在 Linux 中,结束(终止)进程有多种方式,主要取决于你是否有权限、进程是否响应、以及你想“温柔”还是“强制”结束。下面按常见场景系统说明。
psps aux
ps -ef
示例:
ps aux | grep nginx
top / htoptop
htop # 更友好(需安装)
kill 命令结束进程(最常用)kill [信号] PID
| 信号 | 编号 | 说明 |
|---|---|---|
| SIGTERM | 15 | 默认,优雅终止(推荐) |
| SIGKILL | 9 | 强制杀死(不可捕获) |
| SIGINT | 2 | 类似 Ctrl+C |
kill 1234
# 等价于
kill -15 1234
进程可以:
kill -9 1234
⚠️ 注意
pkill(推荐)pkill nginx
pkill -9 nginx
按名称、用户等:
pkill -u username
killallkillall nginx
killall -9 nginx
⚠️ 会杀掉所有同名进程
# 发送 SIGINT
# 暂停进程(不是结束)
然后:
kill %1
jobs
kill %1
僵尸进程 不能被 kill,只能:
ps -ef | grep defunct
kill -9 父进程PID
普通用户只能结束自己的进程
root 可以结束所有进程:
sudo kill 1234
❌ 不要随便 kill -9 系统关键进程
✅ 顺序建议:
kill PIDkill -9 PID# 查进程
ps aux | grep xxx
# 优雅结束
kill PID
# 强制结束
kill -9 PID
# 按名字
pkill xxx
killall xxx
如果你愿意,可以告诉我:
我可以给你更精确的命令 ✅