Я обнаружил странное поведение 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>>
Я бы ожидал, что запись в первом терминале будет блокироваться до тех пор, пока не произойдет чтение во втором терминале, после чего оба терминала будут освобождены. И это происходит большую часть времени.
К сожалению, бывают случаи, когда для успешного чтения требуются две записи (операция cat); чтение освобождает первую запись, но само чтение не освобождается, пока не произойдет другая запись.
Наблюдал ли кто-нибудь это явление раньше? Любая информация будет очень полезна.