|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 mytomorrow 于 2019-9-24 13:28 编辑 ! \3 g8 W" ?) U, s6 W
( R2 _ P2 }8 mLinux进程间通信(5)再来看看信号通信之signal()函数及其基础实验( y9 B- C. M) X3 m3 _2 x( e7 s3 s
3 B% d7 B5 e7 O- }
上一节介绍进程间通信方式之一信号通信中的信号产生和捕捉函数,这一节介绍信号处理函数signal()函数和信号集函数组,接上一节:Linux进程间通信(4)这节看看信号通信之信号发送捕捉kill()、raise()、alarm()、p...
9 a( Z8 s4 O, t) _% ~. B+ G1 A R* ~% o8 |; P( Q0 i
强烈建议做最后一个实验!
1 B) H1 B6 F! E7 c! D
9 G! Z4 F; F8 ]) g- d信号处理方法( u$ j1 H. Y9 a% w
7 F8 F+ X! v; p" r/ D 信号处理的方法主要有以下两种:5 s4 x3 T4 |; S% s; Z- h
* D% e: U, p1 d0 l0 e: D7 } ① 使用 signal() 函数;
3 ^( G; i/ h! J8 z8 q
5 s" x( H5 F: p) d% } ② 使用信号集函数组。2 {! l$ p- z) i& i4 Q2 A
( P: t# x3 u4 q T使用signal()函数1 t- |; z2 ~ U$ S
5 D# T2 n4 T, ], `7 J- e
函数说明
/ `8 O2 A0 R) R0 G. ]! @' O1 T. {: k8 H6 Y) ^, [; f
使用signal()函数处理时,只需指出要处理的信号和处理函数即可。它主要用于前32种非实时信号的处理,不支持信号传递信息。Linux还支持一个更健壮更新的信号处理函数呢,它就是 sigaction(),推荐使用这个函数。 }) |% Y# }9 v B8 w$ p
7 P! z( E. ]% @' S7 v5 I/ U! |函数格式4 r! {- n5 a! e9 s+ e; {, N5 `
# r( c$ M0 s7 o. `) B
) b1 R$ J. ?8 d" Q
|
|