0
如何通過發送SIGUSR1並通過發送SIGUSR2來喚醒進程來停止進程?可能嗎?請幫助我。通過發送SIGUSR1來停止進程並通過發送SIGUSR2來喚醒
如何通過發送SIGUSR1並通過發送SIGUSR2來喚醒進程來停止進程?可能嗎?請幫助我。通過發送SIGUSR1來停止進程並通過發送SIGUSR2來喚醒
要解決這個問題,您可以通過以下方式創建信號處理程序來停止並繼續進程。
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);
}
}