1.一些变量的声明,巴拉巴拉;
2.sigemptyset(&set);
这个函数set的类型是sigset_t,其实就是一个结果体,成员为数组,来保存各种信号。
1 typedef struct { 2 unsigned long sig[_NSIG_WORDS]; 3 } sigset_t
3.初始化信号容器后,添加信号
sigaddset(&set, SIGCHLD)......
添加的信号有:具体意义暂时不讨论
SIGCHLD SIGALRM SIGIO SIGINT NGX_RECONFIGURE_SIGNAL NGX_REOPEN_SIGNAL NGX_NOACCEPT_SIGNAL NGX_TERMINATE_SIGNALNGX_SHUTDOWN_SIGNAL NGX_CHANGEBIN_SIGNAL
4.sigprocmask(SIG_BLOCK, &set, NULL) 将信号添加到进程屏蔽
5.sigemptyset(&set);
清空信号集
6.将进程名称和main函数的入参存储起来,放哪里后边说。
7.修改进程的名称title,具体讲解推荐这个博客。
http://blog.csdn.net/fzy0201/article/details/21121547
8.ccf=ngx_get_conf(cycle->conf_ctx, ngx_core_module);
获取ngx_core_module模块对应的配置
9.ngx_start_worker_processes(cycle, ccf->worker_processes,NGX_PROCESS_RESPAWN);
启动worker进程。
10.加入流程图