私は2つのバックグラウンドプロセス1と2を持っています
./1.sh &
PID_1 = $!
./2.sh &
PID_2 = $!
最初に終了するプロセスを特定してから、まだ継続しているそのプロセスを強制終了しようとしています。これは私が取り組んでいるスクリプトです。
while ps -p | grep " $PID_1"
do
## process 1 is still running
### check for process 2
if ! ps -p | grep "$PID_2"
then
### process 2 is complete, so kill process 1
kill $PID_1
fi
done
kill $PID_2 ## process 2 is still running, so kill it
このスクリプトは機能しますが、他にもっと良い方法がないか探しています。