-
\"Cadence入门教程中关于signal函数的讲解\
资源介绍
10.3 signal函数
U N I X信号机制最简单的界面是s i g n a l函数。
#include
void (*signal (int s i g n o, void (*f u n c)(int))) (int);
返回:成功则为以前的信号处理配置,若出错则为 S I G _ E R R
s i g n a l函数由ANSI C定义。因为ANSI C不涉及多进程、进程组、终端 I / O等,
所以它对信号的定义非常含糊,以致于对 U N I X系统而言几乎毫无用处。确实,
ANSI C对信号的说明只用了2页,而P O S I X . 1的说明则用了1 5页。
S V R 4也提供s i g n a l函数,该函数可提供老的S V R 2不可靠信号语义(1 0 . 4节将
说明这些老的语义)。提供此函数主要是为了向下兼容要求此老语义的应用程序,
新应用程序不应使用它。
4 . 3 + B S D也提供s i g n a l函数,但是它是用s i g a c t i o n函数实现的(1 0 . 1 4节将说明
s i g a c t i o n函数),所以在4 . 3 + B S D之下使用它提供新的可靠的信号语义。
在讨论s i g a c t i o n函数时,提供了使用该函数的 s i g n a l的一个实现。本书中的所
有实例均使用程序1 0 - 1 2中给出的s i g n a l函数。
s i g n o参数是表1 0 - 1中的信号名。 f u n c的值是: ( a )常数S I G _ I G N,或( b )常数S I G _ D F L,或
( c )当接到此信号后要调用的函数的地址。如果指定 S I G _ I G N,则向内核表示忽略此信号。(记
住有两个信号S I G K I L L和S I G S TO P不能忽略。)如果指定S I G _ D F L,则表示接到此信号后的动
作是系统默认动作(见表1 0 - 1中的最后1列)。当指定函数地址时,我们称此为捕捉此信号。我
们称此函数为信号处理程序( signal handler)或信号捕捉函数(signal-catching function)。
第 1 0章 信 号 2 0 3
- 上一篇: 信号的概念-cadence入门教程
- 下一篇: 基于paddlepaddle复现MODNet