リーダーなしで名前付きパイプに書き込む方法

リーダーなしで名前付きパイプに書き込む方法

以下の小さなテストスクリプトがあります。

rm fooo | cat
mkfifo fooo
echo 'bar' > fooo  # blocks here
echo 'done'

私は名前付きパイプから誰も読みませんので、それまで書き込み呼び出しがブロックされると思います。

読者がいなくても読者がいないかどうかを作成または確認する方法はありますか?

ベストアンサー1

~によるとhttps://man7.org/linux/man-pages/man7/fifo.7.html:

Linuxでは、読み取りと書き込みのためにFIFOを開くことはブロックモードと非ブロックモードの両方で成功します。 FIFO自身と通信するには、デッドロックを避けるために接続に非常に注意する必要があります。

おすすめ記事