signal函数-cadence入门教程

时间:2024-07-02 09:20:03
【文件属性】:

文件名称:signal函数-cadence入门教程

文件大小:5.91MB

文件格式:PDF

更新时间:2024-07-02 09:20:03

Unix linux 环境 编程

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


网友评论