coproc ./P grep -q -m1 yikes <&$ && [[ $COPROC_PID ]] && kill -9 $COPROC_PID
Демо-версия:
coproc { sleep 1; echo yikes; sleep 2; }; grep -q -m1 yikes <&$ && [[ $COPROC_PID ]] && kill -9 $COPROC_PID coproc { sleep 1; echo zzzzz; sleep 2; }; grep -q -m1 yikes <&$ && [[ $COPROC_PID ]] && kill -9 $COPROC_PID
Найдено по адресу https://stackoverflow.com/a/26779617/2097284 .
Однако https://unix.stackexchange.com/questions/86270/how-do-you-use-the-command-coproc-in-bash объясняет, почему именованные каналы лучше (хотя тупик здесь невозможен), и почему expect
еще лучше.