linux 信号处理

来源:互联网 发布:ida 导出源码 编辑:程序博客网 时间:2024/06/14 23:25

linux下的程序,有时候需要在接到一些终止信号后,进行清理工作再退出。

 

//信号2的处理函数

 

void SignalHandler_2(int signal) {

//CleanUp

//

exit(2);

}

 

 

int main(int argc, char* argv[]) {

//处理信号2

struct sigaction act_2, act_15;     act_2.sa_handler=SignalHandler_2;     act_15.sa_handler=SIG_IGN; //忽略信号15(比如不想让其他信号对程序有影响)     sigemptyset(&act_2.sa_mask);     sigaddset(&act_2.sa_mask, SIGTERM | SIGINT); //在对信号2进行处理的过程中,屏蔽后续的2和15信号     sigaction(SIGINT, &act_2,NULL);     sigaction(SIGTERM, &act_15,NULL);

//...

}

原创粉丝点击