关于网友提出的“ 新手问个linux c问题,求指教,谢谢了”问题疑问,本网通过在网上对“ 新手问个linux c问题,求指教,谢谢了”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 新手问个linux c问题,求指教,谢谢了描述:
void pr_mask()
{
sigset_t sigset;
if(sigprocmask(0, NULL, &sigset)<0)
{
printf("sigprocmask error");
exit(0);
}
if(sigismember(&sigset, SIGINT))
printf("SIGINT \n");
if(sigismember(&sigset, SIGTERM))
{
printf("SIGTERM \n");
exit(0);
}
}
以上是打印信号掩码的代码,main函数就不带上了,也就注册信号而已
问题如下
我按ctrl+c的时候,终端能打印出SIGINT
&sigset不是指向被屏蔽的信号吗?既然sigint信号在这个被屏蔽的信号集里面,为什么我按ctrl+c的时候信号还能被捕捉到呢?不是被屏蔽了吗?