zoukankan      html  css  js  c++  java
  • Nginx系列p5:进程管理(信号)

    通过上图我们可以看到:信号与命令行的关系,下面我们来简单总结一下上述命令的作用:

    CHLD: 当子进程终止的时候,会向父进程发送 CHLD 信号,这样,如果子进程由于某些模块出现了 Bug,导致子进程意外终止的情况时,那么父进程可以立刻通过 CHLD 信号发现这样一个事件,然后重新拉起进程,从而达到配置文件中所指定的 worker 进程的数量。

    TERM,INT : 表示立刻停止 Nginx 进程,等同于命令行的 stop。

    QUIT:表示优雅的停止 Nginx 进程,优雅:慢慢的关闭,不立刻关闭与客户端的连接,比如 TCP 连接的情况,不会立刻发送 reset 复位请求的报文。

    HUP:  表示重新载入配置文件,等同于命令行的 reload。

    USR1: 表示重新打开日志文件,常用于日志文件的切割,等同于命令行的 reopen。

    USR2: 表示重新生成一个新的 master 进程以及新的 master 进程生成新的 worker 进程,用于热部署。

    WINCH: 优雅关闭老的 master 进程下的 worker 进程,用于热部署。

    注释:红色的信号只能通过 linux 命令来发送给 master 进程,所以我们需要知道 master 进程的 PID。

    总结:当我们从命令行执行对应的命令时,比如:./nginx -s reload 这个命令时,首先读取 logs/nginx.pid 文件,找到当前 master 的 PID,然后向 master 发送对应的信号。

  • 相关阅读:
    函数的四种调用模式.上下文调用.call.apply
    caller.arguments.callee.eval
    面向对象相关知识总结
    javascript与jQuery的each,map回调函数参数顺序问题
    HTML5自定义属性的设置与获取
    [bzoj1911][Apio2010]特别行动队
    [学习笔记]乘法逆元
    [日常训练]普通计算姬
    [学习笔记]线性筛
    [学习笔记]数论(一)
  • 原文地址:https://www.cnblogs.com/zpcoding/p/11732333.html
Copyright © 2011-2022 走看看