加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 可以忽略所有信号吗?

发布时间:2020-12-16 03:21:14 所属栏目:百科 来源:网络整理
导读:我有一个服务器应用程序,我想保护不被任何可以忽略的信号停止.有没有办法忽略所有可能的信号,而不是一一设置它们? 解决方法 是: #include signal.hsigset_t mask;sigfillset(mask);sigprocmask(SIG_SETMASK,mask,NULL); 这并不完全忽略信号,而是阻止它们;
我有一个服务器应用程序,我想保护不被任何可以忽略的信号停止.有没有办法忽略所有可能的信号,而不是一一设置它们?

解决方法

是:
#include <signal.h>

sigset_t mask;
sigfillset(&mask);
sigprocmask(SIG_SETMASK,&mask,NULL);

这并不完全忽略信号,而是阻止它们;这在实践中是一样的效果.

我想没有必要提及SIGKILL和SIGSTOP不能以任何方式被阻止或忽略.

对于更详细的语义,如掩码继承规则等,check the man page

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读