Код: Выделить всё
mkfifo pipe1
cat pipe1 # blocks until another process sends data
echo "hi" > pipe1 # running this in the other tty unblocks waiting "cat"
Код: Выделить всё
echo "ping" > pipe1 # blocks, seemingly until another process reads the data
cat pipe1 # unblocks the "echo" above, if run from another tty
Если процесс на конце «чтения» завершается, пока некоторые данные были еще не израсходованы из канала (или процесс «записи» отправляет еще немного перед завершением) – появятся ли эти дополнительные данные, когда следующий процесс чтения откроет канал?
Появимся ли мы распознать какой-то EOF на конце чтения, когда процесс записи завершается и мы потребляем все созданные им данные (хотя позже мы можем повторно использовать канал, записывая в него из другого процесса)?
Извините, если вопросы не совсем актуальны из-за непонимания механизма. Пожалуйста, не стесняйтесь просто предоставить ссылку на дополнительную документацию.
Подробнее здесь: https://stackoverflow.com/questions/789 ... d-blocking