我们在运维Linux服务器的时候,检查进程中有被占用的可以通过kill进行停止进程,具体的使用方法在这篇文章进行详解。
kill命令的基本用法:
默认行为:kill PID 默认发送 SIGTERM(信号编号 15),请求进程正常退出。
强制终止:kill -9 PID 发送 SIGKILL(信号编号 9),强制立即终止进程(不可捕获或忽略)。
发送其他信号:kill -SIGNAL PID 可以发送不同的信号,如 SIGSTOP(暂停)、SIGCONT(继续)等。
常用信号:
信号编号 | 信号名称 | 作用 |
---|---|---|
1 |
SIGHUP |
挂起(Hangup),通常用于重新加载配置(如 nginx -s reload ) |
2 |
SIGINT |
中断(Interrupt),相当于 Ctrl+C |
9 |
SIGKILL |
强制终止(不可捕获或忽略) |
15 |
SIGTERM |
终止(默认信号,允许进程清理资源后退出) |
18 |
SIGCONT |
继续执行(如果进程被暂停) |
19 |
SIGSTOP |
暂停进程(不可捕获或忽略) |
常用案例详解:
查看进程:
在终止进程前,通常需要先找到进程的 PID(进程 ID):
ps aux | grep 进程名
或者:
pgrep 进程名
示范:
pgrep nginx # 查找 nginx 的 PID
终止进程:
kill PID
示范:
kill 1234 # 向 PID=1234 的进程发送 SIGTERM
强制终止进程:
kill -9 PID
示范:
kill -9 1234 # 强制终止 PID=1234 的进程
批量终止进程:
pkill 进程名
示范:
pkill nginx # 终止所有 nginx 进程
总结:
场景 | 命令 |
---|---|
查找进程 PID | pgrep 进程名 或 ps aux | grep 进程名 |
正常终止进程 | kill PID (默认 SIGTERM ) |
强制终止进程 | kill -9 PID (SIGKILL ) |
重新加载配置 | kill -1 PID 或 kill -HUP PID |
暂停进程 | kill -19 PID |
继续运行进程 | kill -18 PID |
批量终止进程 | pkill 进程名 或 killall 进程名 |