Именованная труба, получающая & ldquo; забитая & rdquo;

Как правило, если есть проблемы с I / O, система будет монтироваться как доступная только для чтения, так что дальнейшая запись не повредит файловую систему, но вы можете попытаться спасти все, что можете, прежде чем пытаться проверить / восстановить (fsck).

Я также посмотрел бы статистику SMART устройства с помощью утилиты Диски, чтобы убедиться, что она не работает. Перераспределенные сектора и частоты ошибок чтения / записи / поиска могут указывать на неисправное устройство. Но у меня также были случаи, когда диски были в порядке, а материнская плата вызывала неустойчивое поведение устройств, подключенных к определенному набору портов SATA. Многие переменные для рассмотрения ...

Источник: Файловая система внезапно доступна только для чтения? | Unix & amp; Linux Stack Exchange

1
задан 7 February 2012 в 03:20

1 ответ

Проблема с вашим кодом заключается в том, что > mypipe откроет fifo, напишет ему, а затем закроет. Как только он закрыт в обоих концах, вам нужно снова открыть его в обоих концах. Поэтому вместо повторного открытия fifo для каждого эха держите его открытым для всего цикла.

for elem in {1..99}; do echo "$elem"; done > mypipe

Btw вместо этого для цикла вы можете просто использовать один printf

Если у вас более сложный случай. Вы можете назначить ему fd.

exec 3> mypipe # opens mypipe for writing on fd 3

echo "stuff" >&3
echo "more stuff" >&3
...

exec 3>&-      # closes fd 3

Подробнее см. Http://mywiki.wooledge.org/BashFAQ/085.

4
ответ дан 25 May 2018 в 14:31

Другие вопросы по тегам:

Похожие вопросы: