美文网首页
16.信号集,信号的阻塞

16.信号集,信号的阻塞

作者: 陈忠俊 | 来源:发表于2020-04-15 00:20 被阅读0次

1.信号集,其中1-31是不可靠的信号,其后的是可靠的信号。

#include<stdio.h>
#include<signal.h>

#define E_MSG(str, value) do{perror(str); return (value);} while(0)

int main(void){
    sigset_t set;
    sigemptyset(&set);

    sigaddset(&set, 2);
    sigaddset(&set, 3);

    int value = sigismember(&set, 3);
    if(value == -1) E_MSG("sigismember", -1);
    if(value)
        printf("signum 3 is a member of set\n");
    else
    {
        printf("None\n");
    }
    return 0;
}

2.信号的阻塞

#include<stdio.h>
#include<signal.h>
#include<unistd.h>
#define E_MSG(str, value) do{perror(str); return (value);} while(0)

void handler(int n){
    printf("get signal: %d\n", n);
    return;
}

int main(void){
    sigset_t set, oset;
    sigemptyset(&set);

    signal(2, handler);
    signal(3, handler);
    signal(45, handler);
    
    sigaddset(&set, 2);
    sigaddset(&set, 3);
    sigaddset(&set, 45);

    //将信号集作为进程的信号掩码集,进行阻塞操作
    int block_set = sigprocmask(SIG_SETMASK, &set, &oset);
    if(block_set == -1) E_MSG("sigprocmask", -1);
    sleep(30);
    block_set = sigprocmask(SIG_SETMASK, &oset, NULL);
    while(1);

    return 0;
}

信号2和信号3 将被阻塞30秒钟,随后解除阻塞,可以调用该命令终止程序。

相关文章

  • 16.信号集,信号的阻塞

    1.信号集,其中1-31是不可靠的信号,其后的是可靠的信号。 2.信号的阻塞 信号2和信号3 将被阻塞30秒钟,随...

  • 信号二

    信号的几种状态 抵达:表示一个信号到达,要处理的信号。阻塞:表示当信号到达时使信号阻塞,当解除阻塞时再处理信号,阻...

  • socket

    socket connect阻塞和非阻塞处理 定义信号处理函数

  • iOS底层--GCD应用

    手动目录GCD简介信号量信号量的理解信号量的使用信号量的代码实操信号量阻塞哪里的任务?栅栏函数dispatch_b...

  • linux-10 -信号(2)+IPC

    信号:信号的发送函数/信号集和信号屏蔽/介绍一个sigaction()/信号应用的相关函数:sleep(),usl...

  • XSI IPC之信号量集

    信号量集 man semop 查看信号量集操作信号量集:进程进程间发送信号,是一个大容器,容器中有多个元素, ...

  • 信号

    一个典型的信号处理与响应 摘要 1.信号基本概念2.信号产生的一般方式3.信号递达盒阻塞的概念和原理4.信号捕捉方...

  • Android跨进程通信-信号(Signal)

    信号的使用及原理 信号实质上是一种软中断,既然是一种中断,就说明信号是异步的,信号接收函数不需要一直阻塞等待信号的...

  • Java之Semaphore

    一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后...

  • linux信号表

    在以上列出的信号中,程序不可捕获、阻塞或忽略的信号有:SIGKILL,SIGSTOP不能恢复至默认动作的信号有:S...

网友评论

      本文标题:16.信号集,信号的阻塞

      本文链接:https://www.haomeiwen.com/subject/bpifvhtx.html