Мой сценарий Bash 4 вызывает стороннюю программу P
(которую я не могу перекомпилировать), которая выводит предупреждения в STDOUT. Когда он печатает yikes
, он также входит в бесконечный цикл. Итак, когда я обнаруживаю yikes
, как я могу немедленно остановить P
и вернуть управление моему сценарию? (И пусть P
закончит нормально в противном случае.)
Возможно полезные фрагменты:
(echo $BASHPID > /tmp/subpid; ./P | tee /tmp/Pout ) &
tail -f /tmp/Pout | grep -m1 yikes && kill -9 $(cat /tmp/subpid)
wait