通过发送SIGUSR1并通过发送SIGUSR2唤醒来停止​​进程

时间:2015-03-03 07:57:38

标签: operating-system ipc

如何通过发送SIGUSR1来停止进程并通过发送SIGUSR2将其唤醒?可能吗?请帮帮我。

1 个答案:

答案 0 :(得分:0)

要处理此问题,您可以按以下方式创建信号处理程序,以停止并继续进程。

void signalHandler(int sig)   
{  
    if(sig==SIGUSR1)  
    {  
        // issue a wait mutex  
        kill(getpid(), SIGSTOP);  
    }  
    else if(sig==SIGUSR2)  
    {  
        // issue a signal mutex
        kill(getpid(), SIGCONT);
    }
    else
    {
        perror("Unknown signal\n")  exit(1);          
    }
}