を待っている他のプロセスの標準入力にデータを送信します。このようプログラムを実行は、次のコードがありPPOLL
は、PPOLLは(パイプ経由で標準入力にデータを渡す)ウェイクアップされているようです:
$ echo 1 | ./main
$
しかし、別のシェルからのプロセスに何かを送ることは目覚めていないPPOLL:
まずシェル:
$ ./main
第2シェル:
$ echo 1 > /proc/$(pgrep main)/fd/0
その後、最初のシェルには1
が印刷されていますが、ppollは起動しません。他のシェルからプロセスのstdinにデータを正しく送るにはどうすればppollが起動するのでしょうか?
あなたの質問が明確ではないと思います。あなたが*「別のシェルからプロセスに何かを送る」と言うとき*別の 'tty'を意味しますか?もしそうなら、彼らはまったく異なる 'stdin'を持っています。 –