SIGHUP信号的作用:
比如修改了 nginx 配置文件,希望不重启 nginx 就让配置生效,可以往 nginx 进程发一个 SIGHUP信号。
守护进程为什么要忽略SIGHUP信号?
首先创建一个会话leader进程A,接着用A创建子进程B,然后退出A,之后所有进程从B创建,保证所有以后新创建进程都不是会话 leader进程(这是为了防止终端取得进程控制权而采取的保证措施),但是,由于有一个exit进程A的操作,当A退出时,会对本会话的所有进程发送 SIGHUP信号,默认操作是全部退出,而此时是在创建守护进程过程中,必须防止B收到SIGHUP而退出,否则下面的操作就无法进行,所以这里必须对 SIGHUP进行忽略!