FIFOは時々読み込みを満たすために2回の書き込みが必要です。

FIFOは時々読み込みを満たすために2回の書き込みが必要です。

Ubuntu 18.04.4 LTSでいくつかの混乱した動作が見つかりました。

端末でFIFOに秘密鍵を書きたいです。

$ mkfifo /tmp/fifo
$ chmod o-rwx /tmp/fifo
$ chmod g-rwx /tmp/fifo
$ cat id_rsa > /tmp/fifo

他の端末からFIFOを読み、キーの内容を取得したいと思います。

$ ssh -i /tmp/fifo -o StrictHostKeyChecking=no <<user@address>>

2番目の端末で読み取りが行われるまで最初の端末の書き込みがブロックされることが予想され、その時点で両方の端末が解放されます。これはかなり頻繁に発生します。

残念ながら、読み取りが成功するには2回の書き込み(cat操作)が必要な場合があります。読み出しでは最初の書き込みは解放されますが、読み込み自体は他の書き込みが発生するまで解放されません。

以前この現象を観察した人はいますか?どんな情報でも大変感謝いたします。

関連情報