开发者学堂课程【物联网开发- Linux 高级程序设计全套视频:信号集合的例子 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/660/detail/11022
信号集合的例子
例子
例:
_signal_set.c 创建一个空的信号集合,向集合中添加信号,判断集合中是否有这个信号
#include <signal.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
sigset_t set;
int ret=0;
sigemptyset(&set);
ret=sigismember(&set,SIGINT)
If(ret==0)
Printf(“SIGINT is not a member of sigprocmask\nret=%d\n”,ret)
sigaddset(&set,SIGINT);
sigaddset(&set,SIGQUIT);
定义了一个变量 set,sigemptyset 初始化了一个空集合,然后判断一下 sigismember 使用有没有 SIGINT 个集合,这时是没有的,因为集合是空的,没有这个信号返回值是零。
如果 ret=o,这个信号不在这个集合当中,接下来把二号信号添加到集合当中,把SIGQUIT 这个信号也添加到二号集合当中,所以set集合中就含有了两个信号。
判断一下
ret =sigismember (&set,SIGINT)
if(ret == 1)
set集合中含有了 SIGINT 信号,值为1
printf("sigiNT is a member of sigprocmask nret=d\n",ret);
return 0;