2019年做网站还有前景吗,手机制作表格教程,创建网页教程,软件界面设计工具有哪些软件signal 可以自定义进程在接收到指定信号后#xff0c;会执行的函数
sigaction 除了可以做signal 可以做的功能#xff0c;还可以通过sigaction这个结构体了解信号的更多具体信息
void sigcb(int sig)
{std::cout get a sig: sig …signal 可以自定义进程在接收到指定信号后会执行的函数
sigaction 除了可以做signal 可以做的功能还可以通过sigaction这个结构体了解信号的更多具体信息
void sigcb(int sig)
{std::cout get a sig: sig std::endl;
}int main()
{// sigset_t lnew,lold;// struct sigaction act;// act.sa_handler sigcb; //信号处理函数handler// sigemptyset(act.sa_mask);// act.sa_flags 0;// sigaction(2, act, 0); //准备捕捉SIGINT信号// sigemptyset(lnew);// sigaddset(lnew, 2);// sigprocmask(SIG_BLOCK, lnew, lold); //将SIGINT信号阻塞同时保存当前信号集// std::cout Blocked because of 2 std::endl;// sigprocmask(SIG_SETMASK, lold, NULL); //取消阻塞// pause();// sigaction(40, act, 0); //准备捕捉40号信号// sigemptyset(lnew);// sigaddset(lnew, 40);// sigprocmask(SIG_BLOCK, lnew, lold); //将40号信号阻塞同时保存当前信号集// std::cout Blocked because of 40 std::endl;// sigprocmask(SIG_SETMASK, lold, NULL); //取消阻塞// pause();while (i--){kill(getpid(), 40);kill(getpid(), 2);// sleep(1);}// while (j--)// {// kill(getpid(), 40);// // sleep(1);// }}// int main()
// {
// struct sigaction act, oact;
// act.sa_handler sigcb;
// sigemptyset(act.sa_mask);
// act.sa_flags 0;
// sigaction(SIGFPE, act, oact);
// int a 10;
// a / 0;
// return 0;
// }// int main()
// {
// signal(SIGFPE, sigcb);
// int a 10;
// a / 0;
// return 0;
// }