NGINX信号管理
KILL工具:
用来向进程发送控制信号,每个信号对应一个数字,信号名称以SIG开头
常用信号:
数字 | 信号 | 作用 |
---|---|---|
1 | SIGHUP | 无须关闭进程而重新加载配置文件 |
2 | SIGINT | 中止正在运行的进程;相当于Ctrl+c |
3 | SIGQUIT | 相当于ctrl+\ #退出进程 |
9 | SIGKILL | 强行关闭某个进程,可能会导致数据丢失(相当于按电源关机) |
15 | SIGTERM | 正常关闭某个进程,默认信号 |
18 | SIGCONT | 继续运行 |
19 | SIGSTOP | 后台休眠 |
10 | SIGUSR1 | 用户自定义信号1 |
12 | SIGUSR2 | 用户自定义信号2 |
说明:
USR1 USR2,作为用户自定义信号,程序可以自定义这2个信号的含义,在收到这2个信号的时候,可以自定义代码进行对着2个信号的处理
可以使用全称、数字、简写这三种方式来描述一个信号
向进程发送信号
可以通过进程的pid或者进程的名称向进程发送信号。
通过进程pid的方式:
kill -n num PID
kill -s sig_name PID
通过进程名称的方式:
killall [信号] 进程名
nginx信号控制使用的几个选项
格式:
nginx -s sig_name
常用信号:
-
stop 立刻停止服务,相当于信号SIGTERM,SIGINT
-
quit 优雅的停止服务,相当于信号SIGQUIT
-
reload 重新加载配置文件,重新生成worker进程,master进程不变,相当于信号SIGHUP
-
reopen 重新开始记录日志文件,在切割日志时用途较大。相当于信号SIGUSR1
-
SIGUSR2 平滑升级可执行程序
-
SIGWINCH 优雅的停止工作进程
例如:启动nginx
[root@CentOS8 ~]# nginx -s quit