19,612
社区成员
发帖
与我相关
我的任务
分享
sigset_t sig_set,sig_pending;
//设置信号阻塞
sigemptyset(&sig_set);
sigaddset(&sig_set,SIGTERM);
sigaddset(&sig_set,SIGINT);
sigprocmask(SIG_BLOCK,&sig_set,NULL);
sigemptyset(&sig_set);//清空信号集slg_set
sigaddset(&sig_set,SIGTERM);//加入SIGTERM信号到信号集slg_set中
sigaddset(&sig_set,SIGINT);//加入SIGINT信号到信号集slg_set中
sigprocmask(SIG_BLOCK,&sig_set,NULL); //设定对信号屏蔽集slg_set内的信号的处理方式为阻塞。
1、有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数。这种情况是通过阻塞信号实现的