找回密码
 注册
关于网站域名变更的通知
查看: 291|回复: 3
打印 上一主题 下一主题

Linux进程间通信(6)再来看看信号通信之信号集函数组及其基础实验

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-9-24 13:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

" |! Q+ D0 a1 h# u. }% NLinux进程间通信(6)再来看看信号通信之信号集函数组及其基础实验2 q/ E3 m2 b( H/ M
$ T! B2 O5 ]: _, k1 e( N% O
信号集函数组
( i7 i0 G; R+ N2 f
. h. H3 ]; X5 s4 T& g) e2 k函数说明8 a4 [9 s" T' d# z, l, a5 n
3 h5 x( ~! ]+ d, C% w+ P

7 l2 b9 K. u0 B- U  使用信号集函数组处理信号时设计一系列的函数,这些函数按照先后的调用次序可分为以下几大模块:创建信号集、注册信号处理函数及检测信号。
. A3 e4 B: q' l6 n9 n3 m7 o
8 }6 C. c& _; q( f6 L
4 K2 K2 V  x+ x5 X9 d* H
  其中,创建信号集主要用于处理用户感兴趣的一些信号,其函数包括以下几个:/ |  {  C/ J! {( R' i, P
' [) S/ E, Z% Q& @! C4 }

2 W$ O1 T4 B, ~  ●  sigemptyset(): 将信号集初始化为空' u! p/ E! k% J

! v3 y# ]2 Q) D8 [5 x
4 w! n7 k1 E: D8 A, ]0 x8 z: _
  ●  sigfillset(): 将信号集初始化为包含所有已定义的信号集
. N- H- ?6 [' N9 \5 [6 w# O9 D& b3 F6 C! f0 p

1 {; B5 l8 [# q: u+ w  ●  sigaddset(): 将指定信号加入到信号集中
2 `2 ]" F1 b; L/ ]6 a+ r  V1 W4 W( O) p: Y
/ E1 J) l! S% X. p3 P$ ~" Z+ s
  ●  sigdelset(): 将指定信号从信号集中删除
8 U6 B9 a/ y4 v
3 R+ V4 V8 n1 Q% j
3 a/ K3 S# |0 v; ^. \3 ?, C( L
  ●  sigismember(): 查询指定信号是否在信号集中2 u# }8 p' S3 I$ j
! S+ c) v* H4 }, F% d

+ D* @, [6 P7 _& S   注册信号处理函数主要用于决定进程如何处理信号。这里要注意的是,信号集里的信号并不是真正可以处理的信号,只有当信号的状态处于非阻塞状态时才会真正起作用。因此,首先使用 sigprocmask() 函数检测并更改信号屏蔽字(信号屏蔽字是用来指定当前被阻塞的一组信号,它们不会被进程接收),然后使用 sigaction()函数来定义进程接收到特定信号后的行为。
6 C9 d  Y8 T, w) a  A* @' O! K$ N
! }1 r7 O) W, z  b

1 Q: p  j1 u( r8 r* Y9 }; ]   检测信号是信号处理的后续步骤,因为被阻塞的信号不会传递给进程,所以这些信号就处于“未处理”状态(也就是进程不清除它的存在)。sigaction()函数允许进程检测“未处理”信号,并进一步决定对它们做何处理。8 U& C4 g7 T& I2 ?2 P

- Q+ y, Q% h+ ~' J0 W
! X# |& X( s* a0 P- b6 _7 i/ o# U. x
函数格式
1 s/ n7 U' Y5 A; d* l4 Y. S6 G# P. |: g" d

5 J6 ^* x7 }( w4 h6 f) Q
游客,如果您要查看本帖隐藏内容请回复
% F9 b. ?2 @; m# o- J. Y
  e# a+ l3 ~- n! ~3 \
  
5 f( q1 v1 k! M- t" E4 g: r+ N8 C; o4 {3 ]  b+ I0 |; J

该用户从未签到

3#
发表于 2019-9-24 18:00 | 只看该作者
介绍一下从ramdisk根文件系统启动Linux的具体步骤。

该用户从未签到

4#
发表于 2019-9-26 19:04 | 只看该作者
看看信号通信之信号集函数组及其基础实验。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 00:44 , Processed in 0.171875 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表