当前位置: 技术问答>linux和unix
信号集问题
来源: 互联网 发布时间:2016-12-29
本文导语: 我看到书上说 因为信号编码是从1开始的 而信号集位是0开始的 sigaddset 的第二个参数要-1 但是我看网上哪些又没有,到底要不要减一哦! | 信号编码为0的信号为空信号,这个信号只在一个...
我看到书上说 因为信号编码是从1开始的 而信号集位是0开始的 sigaddset 的第二个参数要-1 但是我看网上哪些又没有,到底要不要减一哦!
|
信号编码为0的信号为空信号,这个信号只在一个时候有用途,就是调用kill向某一个进程发送一个空信号可以检查指定的进程是否存在,是否有其他的用途我就不知道了。。。
#include
int sigaddset(sigset_t *set,int signo);//成功返回0,错误返回-1
第二个参数是你想添加的到信号集的信号,不需要减1
#include
int sigaddset(sigset_t *set,int signo);//成功返回0,错误返回-1
第二个参数是你想添加的到信号集的信号,不需要减1
|
sigaddset(sigset_t *set, int signo)
第二个参数是你要添加的新号。为什么要-1,这根信号集编码是从几开始有什么关系呢?
|
kill之后的信号不是在20秒之内收到的。是20秒之后收到的
所谓的block只是推迟了信号的发送。在你恢复了mask之后,信号才被发送。这样,你的处理函数就收到了
信号。
所谓的block只是推迟了信号的发送。在你恢复了mask之后,信号才被发送。这样,你的处理函数就收到了
信号。