# kill命令杀死进程
在 Linux(包括 CentOS)中,可以通过 进程 ID(PID) 关闭进程,常用的方法有:
# kill命令发送信号终止进程
sudo kill -9 PID
1
PID
替换为你要关闭的进程 ID(如1234
)。-9
表示发送SIGKILL
信号(强制终止进程,不可被忽略)。
示例:
sudo kill -9 1234 # 强制终止 PID=1234 的进程
1
其他常用信号:
信号编号 | 信号名 | 作用 |
---|---|---|
-1 (或 -HUP ) | SIGHUP | 重新加载进程(常用于重启服务) |
-2 (或 -INT ) | SIGINT | 中断进程(类似 Ctrl+C) |
-15 (默认) | SIGTERM | 优雅终止进程(允许进程清理资源) |
-9 | SIGKILL | 强制终止进程(立即结束,可能丢失数据) |
# killall命令通过进程名终止
如果知道进程名(如 nginx
),可以直接终止所有同名进程:
sudo killall -9 进程名
1
示例:
sudo killall -9 nginx # 强制终止所有 nginx 进程
1
# pkill命令通过名称匹配终止
sudo pkill -9 进程名
1
示例:
sudo pkill -9 python # 终止所有包含 "python" 的进程
1
# systemctl关闭服务适用于系统服务
如果进程是系统服务(如 nginx
、mysql
),建议用:
sudo systemctl stop 服务名
1
示例:
sudo systemctl stop nginx # 优雅停止 nginx 服务
1
# 验证进程是否已终止
ps -aux | grep PID或进程名
1
或
sudo lsof -i :端口号 # 检查端口是否释放
1
# 注意事项
- 优先尝试
-15
(SIGTERM),给进程机会清理资源。 - 慎用
-9
(SIGKILL),可能导致数据丢失或文件损坏。 - 如果进程是关键系统服务,建议使用
systemctl
管理。
← 端口谁在用? 关闭nohup命令启动的进程 →