SIGUSR2 と SIGUSR1 をそれぞれ使用して、プロセスをブロックおよびウェイクする必要があります。以下は、私のシグナルハンドラサブルーチンです。一時停止によってブロックされたプロセスを起動するにはどうすればよいですか?
void sig_handler(int sig) {
static int i = 1;
if(sig == SIGUSR2) {
pause();
}
else if(sig == SIGUSR1) {
/* I don't what to write here */
}
}
また、pause() は良いプログラミング手法ではないことをどこかで読みましたが、プロセスをしばらく中断する他の手段はありますか?