Именованный канал преждевременно закрывается в скрипте?

ls:

prwx------ 1 root root 0 fifo

write.sh:

#! /bin/bash
while true;
do
    echo "blah" > fifo
done

read.sh:

#! /bin/bash
while true;
do
    cat fifo
done

У меня открыты два терминала, один работает write.sh и еще один работает read.sh . Когда я сначала запускаю write.sh , он зависает (как и должно). Затем я перехожу к другому терминалу и запускаю read.sh , и он много раз выводит «бла» , затем мой write.sh останавливается. Почему мой сценарий записи останавливается? Это небольшой тест, который я делаю, чтобы немного лучше понять каналы, потому что я собираюсь отправлять все свои журналы в канал, чтобы я мог их проанализировать перед записью в файл.

Что я такое отсутствует здесь?

7
задан n0pe 26 July 2011 в 17:55
поделиться