1.信号集操作函数
函数声明
#include <signal.h>
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 <signal.h>
int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
3.等待信号
sigsuspend(2)
#include <signal.h>
int sigsuspend(const sigset_t *mask);
4.为信号注册新行为
重要,完全取代signal( )
sigaction(2)
#include <signal.h>
int sigaction(int signum, const struct sigaction *act,struct sigaction *oldact);
5.产生信号
setitimer(2)
#include <sys/time.h>
int getitimer(int which, struct itimerval *curr_value);
int setitimer(int which, const struct itimerval *new_value,struct itimerval *old_value);
网友评论