Warten Sie, bis die Bash-Hintergrundjobs im Skript abgeschlossen sind
Um die CPU-Auslastung zu maximieren (ich führe Dinge auf einem Debian Lenny in EC2 aus), habe ich ein einfaches Skript, um Jobs parallel zu starten:
#!/bin/bash
for i in apache-200901*.log; do echo "Processing $i ..."; do_something_important; done &
for i in apache-200902*.log; do echo "Processing $i ..."; do_something_important; done &
for i in apache-200903*.log; do echo "Processing $i ..."; do_something_important; done &
for i in apache-200904*.log; do echo "Processing $i ..."; do_something_important; done &
...
Ich bin ziemlich zufrieden mit dieser funktionierenden Lösung, konnte jedoch nicht herausfinden, wie man weiteren Code schreibt, der erst ausgeführt wird, wenn alle Schleifen abgeschlossen sind.
Gibt es eine Möglichkeit, die Kontrolle darüber zu erlangen?