2015-10-14 58 views
1

對於我的任務,我給出了一個問題,讓父進程發送「用戶輸入」行文字VIA信號給孩子並讓它打印出文本行。發送字符串到子進程的信號

我很困惑。我已經閱讀了關於信號的書中的整個章節,大多數情況下它們似乎只用於終止,暫停,警報。我原本以爲我可以做到這一點,但我真的不確定。有沒有辦法通過信號傳遞數據?

+1

不,信號本身不傳遞數據。但是你可以使用一個信號來表示「嗨!醒來!我已經在平常的地方爲你留下了數據。」,通常的地方是文件或管道或其他東西。 –

+0

此外,請注意,如果李提到的'平常的地方'是一個管道,那麼你並不需要向孩子發送信號。它可能只是在等待從管道讀取數據。當父母寫入管道時,內核會通過讓讀取返回(使用數據),讓孩子知道數據準備就緒。 –

回答

1

POSIX信號(我們稱之爲UNIX中的信號)只是事件,所以你發送的唯一數據就是它發生了。這當然不會阻止人們討論其他情況下的信號或具有不同含義的信號...