码迷,mamicode.com
首页 > 其他好文 > 详细

信号补充

时间:2019-11-28 23:17:20      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:函数   执行   mask   types   flags   wait   http   add   mamicode   

 

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
#include <string.h>
#include <strings.h>
#include <errno.h>

#include <sys/stat.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <fcntl.h>
#include <signal.h>

void doSig(int num)
{
    printf("i am doSig\n");
    printf("%d\n",num);
}

void printSigset(const sigset_t *s)
{
    for(int i = 1;i < 32;i++)
    {
        if(sigismember(s,i) == 1)
            printf("1");
        else
            printf("0");
    }    
    printf("\n");
}

int main(int argc, char **argv)
{
    sigset_t p;    
    printf("sizeof sigset_t = %d\n",sizeof(sigset_t));
    
    sigemptyset(&p);
    sigaddset(&p,SIGQUIT);// ctrl + z
    sigprocmask(SIG_BLOCK,&p,NULL);// 设置阻塞信号集

    struct sigaction s;
    s.sa_handler = doSig;
    s.sa_flags = 0;
    sigemptyset(&s.sa_mask); // sa_mask 时一个临时的值,执行完handler函数之后,就不起作用了 mask |= sa_mask

    sigaction(SIGINT,&s,NULL);

    while(1)
    {
        sleep(1);
        sigpending(&p);    
        printSigset(&p);
    }
    
    return 0;
}

 

 

sizeof sigset_t = 128
0000000000000000000000000000000
0000000000000000000000000000000
0000000000000000000000000000000
0000000000000000000000000000000
0000000000000000000000000000000
^\0010000000000000000000000000000
0010000000000000000000000000000
0010000000000000000000000000000
0010000000000000000000000000000
0010000000000000000000000000000
^\^\0010000000000000000000000000000
0010000000000000000000000000000
0010000000000000000000000000000
0010000000000000000000000000000
^Ci am doSig
2
0010000000000000000000000000000
0010000000000000000000000000000
0010000000000000000000000000000
0010000000000000000000000000000

 

技术图片

 

 

信号补充

标签:函数   执行   mask   types   flags   wait   http   add   mamicode   

原文地址:https://www.cnblogs.com/xiangtingshen/p/11954311.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!