在 Linux 中,“停止进程”可以有多种含义,常见场景和对应方法如下:
kill(推荐)kill 默认发送 SIGTERM(15),让进程优雅退出。
kill PID
如果进程不响应,可强制终止(SIGKILL,不可捕获):
kill -9 PID
✅ -9 是最后的手段,可能导致数据丢失。
pkill(按名称)pkill nginx
强制终止:
pkill -9 nginx
killallkillall nginx
强制:
killall -9 nginx
⚠️ 会杀掉同名的所有进程。
Ctrl + Z
进程进入 后台暂停状态(Stopped)
查看:
jobs
恢复:
fg # 恢复到前台
bg # 后台继续运行
Ctrl + C
发送 SIGINT,常用于终止正在运行的命令。
systemctl stop nginx
禁止开机启动:
systemctl disable nginx
ps aux | grep nginx
或
top
kill -9 PID
| 状态 | 含义 |
|---|---|
| R | 运行中 |
| S | 睡眠(可中断) |
| D | 不可中断睡眠 |
| T | 已停止(Ctrl+Z) |
| Z | 僵尸进程 |
| X | 已死亡 |
僵尸进程(Z)不能被 kill,需要杀掉它的父进程:
ps -ef | grep defunct
kill PIDkill -9 PIDCtrl + CCtrl + Zsystemctl stop xxx如果你有具体场景(比如:Docker 进程、Java 服务、卡死进程),我可以给你更精确的方案。