很多捕捉这两个信号的交互程序具有下列形式的代码:
int sig nt(),sig uit();
if(signal(SIGINT,SIG GN) !=SIG GN)
signal(SIGINT,sig nt);
if(signal(SIGQUIT,SIG GN)!=SIG GN)
signal(SIGQUIT,sig uit);
这样处理后,仅当SIGINT和SIGQUIT原先并不忽略,进程才捕捉它们。从这些signal调用中可以看到这种函数的限制:不改变信号的处理方式就不能确定信号的当前处理方式。我们将在本章的稍后部分说明使用sigaction可以确定一个信号的处理方式,而无需改变它。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |