У меня была та же проблема. Это - мое первое решение. Сначала запишите вывод в файл, который мы усекаем после каждой строки, таким образом, это не растет неограниченно долго:
spewingprocess | while read line; do echo $line > buffer.txt ; done
Затем читайте из файла с помощью хвоста (где 2> /dev/null
избавляется от "файла усеченное" сообщение об ошибке):
tail -f ./buffer.txt 2> /dev/null
Таким образом, буфер не растет, и мы можем мультиплексировать, например, выполнить столько хвостов, сколько мы хотим. Однако проблема с этим подходом состоит в том, что мы можем потерять данные, когда мы усекаем быстрее, чем хвост может читать как этот тест шоу:
for ((i=0; ; i++)) ; do echo "$i" ; done | while read line; do echo $line > buffer.txt ; done
tail -f ./buffer.txt 2> /dev/null > log.txt
После выполнения в течение некоторого времени первые и последние строки:
$ head -n 1 log.txt
0
$ tail -n 1 log.txt
78783
Но файл имеет меньше строк, таким образом, некоторые потеряны:
$ wc log.txt
67087 67087 392819 log.txt
Все еще это кажется хорошим решением, если Вы не заботитесь так о потере данных или когда Ваш spewingprocess не достаточно быстр для данных, проигрывают для появления.
Я все равно лучше потеряю все это, чем встречусь с "неспособным смонтировать", "подождите этих 10 минут fsck" Подразумевает - хотя вы на самом деле не говорите этого - что это проблема, которую вы на самом деле испытываете. Но потом:e2fsprogs-libs (зависимость от jfsutils) кажется чертовски сложной компиляцией в моем дистрибутиве.
означает [114433], что у вас вообще нет fsck[114434], так как [114435]e2fsprogs-libs[114436] является зависимостью для [114437]e2fsprogs[114438], которая обеспечивает [114439]e2fsck[114440]. Так что, возможно, Вы все еще находитесь в стадии планирования и даже не протестировали систему, например, с помощью [114441]ext4[114442], а вместо этого перешли к выводу, что Вам следует начать с JFS? Есть ли для этого какая-то конкретная причина?
Я заметил на малиновом пи-обмене (первичное хранилище пи также является SD-картой), что значительное количество пользователей, похоже, очень расстроены проблемами подобного рода, хотя большинство (включая меня) никогда не имели его вообще. Сначала я предположил, что эти люди не знают о том, что система должна быть чисто выключена, но это не трудно понять, когда это объясняют, и есть люди, которые сообщают об этом [114443], даже несмотря на то, что система HAS была должным образом выключена [114444].
Вы уже говорили, что это необходимо для того, чтобы быть в состоянии терпеть перебои в подаче электроэнергии (что справедливо), но я упоминаю об этом, потому что это подразумевает, что есть [114445] некоторые [114446] pis, или некоторые SD карты, или какая-то комбинация обоих, которые просто склонны к повреждению файловой системы из-за какого-то события (всплеска?), которое регулярно происходит либо при вытаскивании штекера, либо при его повторном включении. Я также НЕ видел -- и было достаточно времени для многих людей, чтобы попробовать -- ЛЮБОЕ ПОЛОЖЕНИЕ о том, что кто-то сказал, что переключился на btrfs или jfs или что-то в этом роде, и теперь проблема решена.
<font face="Helvetica, Arial, sans-serif" size="3"><span style="font-size:10pt;font-family:Arial, Helvetica, sans-serif;"> <br />
<br>
Cheers, <br />
<br>
Abel Braaksma
</span>
</font>
<br />
<br />
<hr style="height:1px;border:none;color:black;background-color:black" />
<table style="font-size:10pt;font-family:Arial, Helvetica, sans-serif;" cellspacing="0" cellpadding="0">
<tr>
<th align="left" style="font-size:10pt;font-family:Arial, Helvetica, sans-serif;">From:</th>
<td style="font-size:10pt;font-family:Arial, Helvetica, sans-serif;">%from%</td>
</tr>
<tr>
<th align="left" style="font-size:10pt;font-family:Arial, Helvetica, sans-serif;">Sent:</th>
<td style="font-size:10pt;font-family:Arial, Helvetica, sans-serif;">%datelocal%</td>
</tr>
<tr>
<th align="left" style="font-size:10pt;font-family:Arial, Helvetica, sans-serif;">To:</th>
<td style="font-size:10pt;font-family:Arial, Helvetica, sans-serif;">%to(name)%</td>
</tr>
<tr>
<th align="left" style="font-size:10pt;font-family:Arial, Helvetica, sans-serif;">Cc:</th>
<td style="font-size:10pt;font-family:Arial, Helvetica, sans-serif;">%cc(name)%</td>
</tr>
<tr>
<th align="left" style="font-size:10pt;font-family:Arial, Helvetica, sans-serif;">Subject: </th>
<td style="font-size:10pt;font-family:Arial, Helvetica, sans-serif;">%subject%</td>
</tr>
</table>
<br />
<br />
Другая загадочная вещь - [114447], даже если люди дёргаются за шнур, это не должно регулярно приводить к неработоспособности файловой системы. [114448] Конечно, я делал это кучу раз w/ the pi, и забивал сотни, если не сотни раз w/ a обычный linux box (питание было отключено, система стала невосприимчивой, я измотан и зол и т.д.). ) и хотя я видел незначительную потерю данных, я никогда не видел, чтобы файловая система была повреждена до такой степени, что была бы непригодна к использованию после быстрой проверки.
Опять же, предполагая, что все эти сообщения правдивы (я не понимаю, почему количество людей солгало бы об этом), есть что-то гораздо большее, чем просто не чистое размонтирование, но это, кажется, влияет только на небольшой процент пользователей, что опять же подразумевает какой-то общий дефект аппаратуры.
Вы также можете рассмотреть возможность вызова [114455]sync[114456] через регулярные интервалы времени.
Наконец, вы должны обновить вопрос более фактическими, специфическими деталями проблем [114457], с которыми вы фактически столкнулись, [114458] и менее гипербольным. В противном случае, это выглядит слишком похоже на преждевременную [114459]XY проблему [114460], которая, скорее всего, будет быстро пропущена людьми с большим опытом и потенциальными советами для вас.[113977].