Linux kill
命令信号详细
kill
命令用于向进程发送信号,从而控制进程的行为。它不仅用于终止进程,还可以暂停、恢复、重新加载配置等。
常见信号列表
信号 | 编号 | 描述 | 备注 |
---|---|---|---|
SIGTERM |
15 | 请求进程正常终止 | 默认信号,进程可捕获并清理资源 |
SIGKILL |
9 | 强制终止进程 | 无法被捕获或忽略,立即终止 |
SIGINT |
2 | 模拟 Ctrl + C ,中断进程 |
通常用于前台进程 |
SIGHUP |
1 | 通知进程重新加载配置文件 | 常用于守护进程 |
SIGSTOP |
19 | 暂停进程 | 进程无法捕获 |
SIGCONT |
18 | 恢复暂停的进程 | 发送到暂停的进程 |
SIGUSR1 |
10 | 用户定义的信号,通常用于自定义操作 | 用户自定义 |
SIGUSR2 |
12 | 用户定义的信号,通常用于自定义操作 | 用户自定义 |
SIGSEGV |
11 | 内存访问错误(段错误) | 通常由程序 bug 引起 |
常用命令示例
命令 | 说明 |
---|---|
kill <PID> |
发送 SIGTERM (15)信号,要求进程优雅退出 |
kill -9 <PID> |
强制终止进程,发送 SIGKILL (9)信号 |
kill -2 <PID> |
发送 SIGINT (2)信号,模拟 Ctrl + C |
kill -1 <PID> |
发送 SIGHUP (1)信号,重新加载配置 |
kill -19 <PID> |
暂停进程,发送 SIGSTOP (19)信号 |
kill -18 <PID> |
恢复进程,发送 SIGCONT (18)信号 |
kill $(pgrep process_name) |
通过进程名终止进程 |
kill -l |
列出所有信号及其编号 |
kill
命令通过向进程发送不同的信号来控制其行为。常见的用途包括:
- 优雅终止进程(
SIGTERM
) - 强制终止进程(
SIGKILL
) - 暂停进程(
SIGSTOP
) - 恢复进程(
SIGCONT
)
此外,还可以通过信号重新加载配置或执行其他自定义操作。
使用 kill -l
查看所有可用信号
使用 kill -HUP PID
重载某进程
使用 kill -USR2 $(pgrep php-fpm)
重启php-fpm