Программа Монитора сценариев Bash для Определенного Вывода

, Таким образом, это - вероятно, легкий вопрос, но я не большая часть программиста удара, и я не смогла понять это.

у Нас есть программа с закрытым исходным кодом, которая называет подпрограмму, которая работает, пока она не выходит, в которой точке программа назовет подпрограмму снова. Это повторяется неограниченно долго.

, К сожалению, основная программа будет иногда спонтанно (и неоднократно) не удаются назвать подпрограмму после случайного промежутка времени. Возможное решение состоит в том, чтобы связаться с исходными разработчиками для получения поддержки, но тем временем нам нужны быстрые текущие исправления для проблемы.

я пытаюсь записать сценарий удара, который будет контролировать вывод программы и когда это будет видеть определенную последовательность, это перезапустит машину (программа будет работать снова автоматически на начальной загрузке). Сценарий удара должен передать весь стандартный вывод до экрана вплоть до него, видит определенную последовательность. Программа также должна продолжить обрабатывать ввод данных пользователем.

я попробовал следующее ограниченным успехом:

./program1 | ./watcher.sh

watcher.sh является в основном просто следующим:

while read line; do
    echo $line
    if [$line == "some string"]
    then
        #the reboot script works fine
        ./reboot.sh 
    fi
done

Это, кажется, работает хорошо, но ведущий пробел разделяется на операторе эха, и вывод эха зависает в середине до выходов подпрограммы, в которых остальная часть точки вывода печатается на экран. Существует ли лучший способ выполнить то, что я должен сделать?

Заранее спасибо.

5
задан Mynock 6 September 2011 в 18:42
поделиться