当前位置:天才代写 > tutorial > C语言/C++ 教程 > Linux下C编程:信号集及操纵

Linux下C编程:信号集及操纵

2017-11-02 08:00 星期四 所属: C语言/C++ 教程 浏览:488

在实际的应用中一个应用措施需要对多个信号举办处理惩罚,为了利便,linux系统引进了信号集的观念。信号集用多个信号构成的数据范例sigset_t.可用以下的系统挪用配置信号会合所包括的数据。

1、常见信号及界说如图:

Linux下C编程:信号集及哄骗

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

 

    关键字:

天才代写-代写联系方式