信号集

1.信号集操作函数

函数声明

#include 

int sigemptyset(sigset_t *set);  //将信号集设置为空

int sigfillset(sigset_t *set);   //将信号集设置为满

int sigaddset(sigset_t *set, int signum);  //在set信号集中添加signum信号

int sigdelset(sigset_t *set, int signum);  //在set信号集中删除signum信号

int sigismember(const sigset_t *set, int signum);   //查看set信号集有没有signum信号

参数

set为 sigset_t 类型,即信号集,signum为信号

返回值

sigemptyset(), sigfillset(), sigaddset(), 和 sigdelset()成功返回0;失败返回-1

sigismember() 1代表set信号集有signum信号,0代表没有,-1代表出错,并设置errno

2.设置信号屏蔽字

​ sigprocmask(2)

函数声明

#include 

int sigprocmask(int how, const sigset_t  *set,  sigset_t  *oldset);

3.等待信号

​ sigsuspend(2)

#include 
int sigsuspend(const sigset_t *mask);

4.为信号注册新行为

重要,完全取代signal( )

sigaction(2)

#include 
int sigaction(int signum, const struct sigaction *act,struct sigaction *oldact);

5.产生信号

setitimer(2)

#include 

int getitimer(int which, struct itimerval *curr_value);
int setitimer(int which, const struct itimerval *new_value,struct itimerval *old_value);

你可能感兴趣的:(信号集)