FIFO を読み取っていないときに「echo STRING > fifo」がハングするのを防ぐ

FIFO を読み取っていないときに「echo STRING > fifo」がハングするのを防ぐ

echoで作成された名前付きパイプに何かを実行するとmkfifo、そのパイプから読み取っているプロセスがない場合にハングします。これを防ぐには、つまりハングしないようにするにはどうすればよいでしょうか。

ちなみに、なぜハングしているechoプロセスがps -eまたはにリストされていないのでしょうかpstree?

答え1

質問から、あなたが望む最終結果が何であるかは完全には明らかではないので、私はあなたがプログラムを続行し、それでも可能な場合は書き込みが発生するようにしたいと考えていると仮定します。その場合は、操作をバックグラウンドで実行するだけです。

echo foo > fifo &

echoプロセステーブルに記載されていない理由はechoシェル組み込み

関連情報