在实际的应用中一个应用措施需要对多个信号举办处理惩罚,为了利便,linux系统引进了信号集的观念。信号集用多个信号构成的数据范例sigset_t.可用以下的系统挪用配置信号会合所包括的数据。
1、常见信号及界说如图:
2、sigset_t在linux2.6.39/include/asm-generic/signal.h中界说
typedef struct { unsignedlong sig[_NSIG_WORDS]; } sigset_t;
3、相应的系统挪用函数:
#include<signal.h> int sigemptyset(sigset_t *set); int sigfillset(sigset_t *set); int sigadd(sigset_t *set,int setnumber); int sigdelset(sigset_t *set,int setnumber);
set暗示信号集指针,setnumber暗示信号。
sigemptyset用于将set指向的信号集设为空,即不包括任何信号。
sigfillset用于将set指向的信号集设为满,即包括所有的信号。
sigaddset用于向信号会合添加信号。
sigdelset用于向信号会合删除信号。
以上函数乐成返回0,失败返回-1
4、别的,int sigismember(const sigset_t set,int signumber),用于检测signumber是否在set中,若属于返回1,不是返回0.
查察全套文章:http://www.bianceng.cn/Programming/C/201212/34807.htm