Мой сценарий 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
