2011-07-07 26 views

答えて

0

セマフォとシグナルハンドラを使用して行いました。子プロセスを起動するには、親プロセスがシグナルを子プロセスに送信します。子プロセスはシグナルハンドラ内からセマフォをポストします。そのセマフォを待っていた子供が目を覚ます。

-1

SIGSTOPのプロセスを送信してから、SIGCONTで再開することができます。

+0

実行中にSIGSTOPを送信するのは安全ですか?最初からそれを中断する方法はありませんか? Ptraceは私の心の中にあるものです。 – MetallicPriest

+0

競合状態の影響を受けやすいソリューションをお勧めします。 –

+0

raiseを使ってシグナルを送ることができます:http://pubs.opengroup.org/onlinepubs/009695399/functions/raise.html –

4

フォーク後に子プロセスのコードでpause()を呼び出すだけではどうですか?

+0

これは、sigsuspend(2)を呼び出した後、kill(pid、 SIGXXX)を親から選択します。ここで、SIGXXXは選択した信号です。おそらくSIGCONT? –

+0

@Jorgen、sigsuspendはあなたが思っていることをしません。 –

+0

@Michael:それはまさにドキュメントが言っていることです。 –

関連する問題