Unix系统的信号机制最简单的接口—signal函数
#include <signal.h>
void (*signal(int signo, void (*func)(int)))(int);
signal函数由ISO C定义。因为ISO C不涉及多进程、进程组以及终端I/O等,所以他对信号的定义非常含糊,以至于对Unix系统而言几乎毫无用处。
从Unix系统V派生的实现支持signal函数,但该函数提供旧的不可靠信号语义。提供此函数主要是为了向后兼容那些需哟此旧语义的应用程序,新应用程序不应该使用这些不可靠信号。
4.4BSD也提供signal函数,但它是按照sigaction函数定义的,所以在4.4BSD之下使用它提供新的可靠信号语义。FreeBSD和MAC OS X遵循此种策略。