バックグラウンドで実行される 3 つのプロセス a.sh、b.sh、c.sh があります。
./a.sh &
pid_a=$!
./b.sh &
pid_b=$!
./c.sh &
pid_c=$!
最長のプロセスが終了するまで、3 つのプロセスすべてが実行されるようにする必要があります。個々の実行時間で c.sh に 10 秒、a.sh に 3 秒、b.sh に 5 秒かかる場合、a.sh と b.sh を再度実行して、c.sh が終了するまでそれらが存在することを確認する必要があります。
上記のシナリオでは確かに機能しないこのアプローチを試していました
./a.sh &
while ps -p $! > /dev/null; do
./b.sh &
pid_b=$!
./c.sh &
pid_c=$!
wait $pid_c
done
どうすれば入手できますか?