分类: 系统运维
2012-03-27 17:31:04
信号是用来在一些条件(conditions)发生的情况下通知进程的一种技术。比如当一个进程被0除时,一个被为SIGFPE(floating-point-exception)的信号会被发送给这个进程。这个进程有三种处理该信号的方式:
1、忽略该信号。当信号表示硬件异常,比如被零除或者进程引用地址空间外部的内存时,这种做法并不推荐,因为会导致未定义的结果。
2、让默认行为发生。比如被零除的条件,默认行为是终止进程。
3、当信号发生时,提供一个可被调用的函数(称为捕获信号,catching the signal)。通过提供一个函数,我们可以知道信号何时发生,同时可以根据我们自己的意愿来处理该信号。