Ich habe 3 Prozesse a.sh, b.sh, c.sh, die im Hintergrund ausgeführt werden.
./a.sh &
pid_a=$!
./b.sh &
pid_b=$!
./c.sh &
pid_c=$!
Ich muss sicherstellen, dass alle drei Prozesse laufen, bis der längste Prozess beendet ist. Wenn c.sh 10 Sekunden, a.sh 3 Sekunden und b.sh 5 Sekunden für die einzelnen Ausführungszeiten benötigt, muss ich a.sh und b.sh erneut ausführen, um sicherzustellen, dass sie bis zur Beendigung von c.sh existieren.
Ich habe diesen Ansatz ausprobiert, der in dem obigen Szenario sicherlich nicht funktioniert
./a.sh &
while ps -p $! > /dev/null; do
./b.sh &
pid_b=$!
./c.sh &
pid_c=$!
wait $pid_c
done
Wie bekomme ich das?