守护进程 -- 2




外围设置// 创建PID文件,写入当前 pid if (ngx_create_pidfile(&ccf->pid, cycle->log) != NGX_OK) { return 1; } // 确认 cycle->log 是否可用 if (ngx_log_redirect_stderr(cycle) != NGX_OK) { return 1; } if (log->file->fd != ngx_stderr) { if (ngx_close_file(log->file->fd) == NGX_FILE_ERROR) { ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno, ngx_close_file_n " built-in log failed"); } } 经过上述两个过程 -- 创建PID文件并写入PID、确认 cycle->log 可用,之后即可进入到 worker 进程的创建工作了master 进程核心工作 -- ngx_master_process_cycle这里我们先介绍 ngx_master_p
#技术帖    #龙潭书斋    #fork    #nginx   
daemon 进程关于 daemon 进程的介绍及创建以及需要注意的药店,请参考:daemon 守护进程 信号处理初始化nginx 有一个全局变量 signals,在 build configure 的时候写入到 os 目录下的 ngx_process.c 文件中,在不同的系统中取值不同,用来定义默认的信号处理方式// struct ngx_signal_t // 信号结构 {{{ typedef struct { int signo; char *signame; char *name; void (*handler)(int signo); } ngx_signal_t; // }}} // ngx_signal_t signals // 信号默认处理方式 {{{ ngx_signal_t signals[] = { { ngx_signal_value(NGX_RECONFIGURE_SIGNAL), "SIG" ngx_value(NGX_RECONFIGURE_SIGNAL), "reload", ngx_signa
#技术帖    #linux    #network    #c语言   



京ICP备15018585号