浅谈多进程程序的控制和管理

  a. 将pid文件重新命名为nginx.pid.oldbin

  b. 执行新的可执行文件,按照常规的路径会产生new master process和new worker process,此时新老进程全部并存,并且全部正常工作——接受客户端连接请求和服务客户端

  c. 向old master process发送SIGWINCH,其将会把自己所有的old master workers关闭,注意此时old master process的侦听套接字仍然工作的,必要时候还是会自动产生自己的worker process。调试新版本升级是否正常:如果正常就向old master process发送SIGQUIT,加上之前SIGWINCH工作所有的old process清理完毕;如果不正常,向old master process发送SIGHUP产生worker process,同时向new master process发送SIGTERM信号立即清理所有的new worker process,然后使用SIGKILL杀死new master process

 

  本文完!