linux 信号处理

    技术2022-05-19  21

    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);

    //...

    }


    最新回复(0)