非ブロッキング/非同期の名前付きパイプまたはシェルで同様のものを作成する方法はありますか? プログラムが行を配置できるように、それらの行はRAMに留まり、一部のプログラムがパイプからいくつかの行を読み取ることができたときに、読み取らなかったものをFIFOに残しますか? また、プログラムがこの fifo に同時に書き込みと読み取りを行う可能性も非常に高くなります。最初はファイルを使用してこれを行うことができるかもしれませんが、Web を少し検索した後、ファイルが同時に読み書きされるという事実からは何も得られないようです。名前付きパイプはほとんど機能しますが、2 つの問題があります。1 つ目は、反対側に誰もいない場合に読み取り/書き込みをブロックすることです。各プロセスで1行を書き込もうとして、次に試してくださいhead -n 1 <fifo>
必要に応じて 1 行だけ取得しますが、両方の書き込みプロセスが終了し、2 行目が失われます。助言がありますか?
編集:おそらく、これを支援するために、ライターとリーダーの間の仲介者のように機能する中間プログラムを使用できますか?