параллельный --spreadstdin --line-буферизованная 'some_command 2 \
mktemp --tmpdir /tmp/stderr
''. | do_something && if [test -s /tmp/stderr]; then; sleep .1; else; rm /tmp/stderr
I.T. - о том, чтобы сделать что-то, что работает. Прекратите подсчет битов и байтов и создайте триггер inotifywait при запуске для проверки логов на пустоту, запишите результаты в datatable и сотрите лог до конца; затем запрограммируйте веб-интерфейс, который будет присылать вам сообщения, когда ключевые слова появляются в вашем лог-журнале ошибок.
while:
do
inotifywait -e create /tmp/* && \
if [ -s /tmp/stderr ]
then
##put it in a datatable
##remove the log
fi
done
iNotifyWait также может отслеживать подсистему Kernel F/S, чтобы проверить, не изменился ли файл, если он добавляется. В противном случае, измените исходный код и перекомпилируйте его, чтобы предотвратить создание ошибки, изменив раздел try() catch() или сообщение об ошибке (часть, которая печатает коды ошибок на экране).
Оказалось, что синхронизация выполнялась заданием cron; каждые 60 секунд. Он производил так много зомби-процессов, что замедлял работу массива RAID до ползания. Мораль истории: проверьте свои cron-задания.