东莞网站建设 食品厂,乡土文化网站怎么做,网站开发用到的编程,学校网站的建设目标是什么意思#xff08;1#xff09;sigaction函数#xff1a;注册一个信号捕捉函数#xff08;不参与捕捉信号#xff0c;信号由内核捕捉#xff09;#xff0c;并修改原来的信号处理动作
#xff08;2#xff09;函数原型及头文件 头文件#xff1a;#includesignal.h…1sigaction函数注册一个信号捕捉函数不参与捕捉信号信号由内核捕捉并修改原来的信号处理动作
2函数原型及头文件 头文件#includesignal.h 函数原型int sigactionint signum,const struct sigaction*act,struct sigaction*oldact;
3返回值:成功返回值为0.失败返回值为-1
4结构体参数struct sigaction struct sigaction{ void (*sa_handler)(int);//信号捕捉函数的函数指针 void (*sa_sigaction)(int ,siginfo_t*,void*);//当sa_flagSA_SIGINFO使用此函数 sigset_t sa_mask;//信号捕捉函数执行时指定的临时信号集 int sa_flags;//通常设置为0表示默认属性即信号捕捉函数期间自动屏蔽本信号 void (*sa_restorer)(void);//舍弃不用 };
5sigaction函数实现 6sigaction使用注意点 1在信号捕捉函数执行期间如果遇到sa_mask屏蔽信号字中的信号则会发生阻塞等到捕捉函数执行完毕后再处理这个信号。 2在信号捕捉函数执行期间阻塞的常规信号不支持排队产生多次只记录一次。如果再次发捕获信号则会再次进入信号捕捉函数。 3如果在信号捕捉函数执行期间遇到sa_mask之外的信号则会优先执行这个信号然后再执行信号捕捉函数如果前面的信号没有让程序结束或暂停。