LINUX异步信号集合示例代码

简介: 主要以sigemptyset(),sigaddset()函数为基础查看信号集的存储结构。 用于进程间的异步通信。 1 #include 2 #include 3 #include 4 5 int output(sigset_t set); 6 7 int ...

主要以sigemptyset(),sigaddset()函数为基础查看信号集的存储结构。

用于进程间的异步通信。

 1 #include <signal.h>
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 
 5 int output(sigset_t set);
 6 
 7 int main()
 8 {
 9     sigset_t set;
10     printf("after empty the set:\n");
11     sigemptyset(&set);
12     output(set);
13     printf("after add signo = 2:\n");
14     sigaddset(&set, 2);
15     output(set);
16     printf("after add signo = 10:\n");
17     sigaddset(&set, 10);
18     output(set);
19 
20     sigfillset(&set);
21     printf("after fill all:\n");
22     output(set);
23     return 0;
24 }
25 
26 int output(sigset_t set)
27 {
28     int i =0;
29     for(i = 0; i < 1; i++)
30     {
31         printf("0x%8x\n", set.__val[i]);
32         if((i + 1) % 8 == 0)
33             printf("\n");
34     }
35 }

输出:

[root@localhost ~]# ./sig_set_member
after empty the set:
0x       0
after add signo = 2:
0x       2
after add signo = 10:
0x     202
after fill all:
0x7fffffff

目录
相关文章
|
2月前
|
存储 运维 搜索推荐
|
4月前
|
Linux 调度
Linux0.11 信号(十二)(下)
Linux0.11 信号(十二)
30 1
|
4月前
|
存储 Linux 调度
|
4月前
|
Linux 开发者
深入理解Linux I/O模型:同步、异步、阻塞与非阻塞
【8月更文挑战第1天】在探索操作系统的奥秘中,I/O模型作为影响性能的关键因素之一,常常让开发者们感到困惑。本文将通过浅显易懂的语言和实际代码示例,揭示Linux下同步与异步、阻塞与非阻塞的概念及其区别,并指导如何在实际应用中选择合适的I/O模型以优化程序性能。
153 1
|
4月前
|
存储 Unix Linux
Linux0.11 信号(十二)(上)
Linux0.11 信号(十二)
36 0
|
4月前
|
Linux
|
5月前
|
安全 小程序 Linux
Linux中信号是什么?Ctrl + c后到底为什么会中断程序?
信号在进程的学习中是一个非常好用的存在,它是软件层次上对中断机制的一种模拟,是异步通信方式,同时也可以用来检测用户空间到底发生了什么情况,然后系统知道后就可以做出相应的对策。
141 6
|
5月前
|
缓存 网络协议 算法
【Linux系统编程】深入剖析:四大IO模型机制与应用(阻塞、非阻塞、多路复用、信号驱动IO 全解读)
在Linux环境下,主要存在四种IO模型,它们分别是阻塞IO(Blocking IO)、非阻塞IO(Non-blocking IO)、IO多路复用(I/O Multiplexing)和异步IO(Asynchronous IO)。下面我将逐一介绍这些模型的定义:
245 2
|
6月前
|
Linux
Linux异步io机制 io_uring
Linux异步io机制 io_uring
84 1
|
5月前
|
存储 NoSQL Unix
【Linux】进程信号(下)
【Linux】进程信号(下)
44 0