我有一个服务器应用程序,我想保护不被任何可以忽略的信号停止.有没有办法忽略所有可能的信号,而不是一一设置它们?
@H_301_3@解决方法
是:
#include <signal.h> sigset_t mask; sigfillset(&mask); sigprocmask(SIG_SETMASK,&mask,NULL);
这并不完全忽略信号,而是阻止它们;这在实践中是一样的效果.
我想没有必要提及SIGKILL和SIGSTOP不能以任何方式被阻止或忽略.
对于更详细的语义,如掩码继承规则等,check the man page