Mój skrypt Bash 4 wywołuje program innej firmy P
(taki, którego nie mogę ponownie skompilować), który drukuje ostrzeżenia do STDOUT. Kiedy drukuje yikes
, wchodzi również w nieskończoną pętlę. Więc kiedy wykryję a yikes
, jak mogę natychmiast zatrzymać P
i przywrócić kontrolę nad skryptem? (I niech P
normalnie skończy się inaczej.)
Prawdopodobnie przydatne fragmenty:
(echo $BASHPID > /tmp/subpid; ./P | tee /tmp/Pout ) &
tail -f /tmp/Pout | grep -m1 yikes && kill -9 $(cat /tmp/subpid)
wait
sudo apt-get install expect
?