Есть Shell скрипт, внутри которого запускается сервис/демон и его stdout пишется в log, затем скрипт продолжает заниматься своими обязанностями:
service -a -b -c &>>log &
Время от времени сервис перестаёт отвечать на запросы, а в log пишет бесконечные строки «Invalid argument».
Задача: при обнаружении Shell скриптом строки «Invalid argument» перезапускать сервис. Можно было конечно каждые несколько секунд считывать последнюю строку из log и сравнивать её с шаблоном, но файл log достаточно большой и каждое считывание файла занимает время, поэтому хотелось бы чтобы stdout поступал сначала в переменную $var, а затем в файл log, при этом необходимо, чтобы $var можно было в любой момент считать. Если такое возможно, подскажите как реализовать?