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

posted on 2022-11-03 14:56  背对背依靠  阅读(332)  评论(0编辑  收藏  举报