UNIX で実行されるプログラム (制御できない) があり、終了すると「正常に完了しました」と出力されますが、終了しません。プロセスがいつ終了したかを (コマンドの出力をチェックして) 自動的に検出して、プロセスを強制終了し、他のアクティビティを続行できるようにしたいと考えています。複雑なのは、これらのスクリプトを複数同時に実行できるようにしたいためです。(実行する必要があるアクティビティの 1 つは、さまざまな入力でスクリプトを呼び出す必要がありますが、スクリプトを実行するたびに戻るのに時間がかかるため、それらを並行して実行したいと考えています)
誰かがこれに似たようなことをしましたか? コマンドの stderr および stdout 出力を、ランダムなファイル名を持つ一時ファイルにリダイレクトし、ファイルを末尾にして、終了条件 (つまり、特定のログ行) を grep にパイプすることができます。問題は、確かに tail -f が実行され続けるため、決して終了しないことです。投票する必要がありますか?もしそうなら、最善のアプローチは何ですか?