Mailinglist Archive: opensuse-programming-de (32 mails)

< Previous Next >
Re: [opensuse-programming-de] Bash - Exit Status von Hintergrundjobs ermitteln
  • From: Thomas Moritz <thm_ml@xxxxxxxxxxx>
  • Date: Thu, 28 Jan 2010 19:52:12 +0100
  • Message-id: <201001281952.13245.thm_ml@xxxxxxxxxxx>
Am Donnerstag, 28. Januar 2010 18:32:57 schrieb Thomas Michalka:

Hallo Thomas,

Ich möchte in einem Skript mehrere Hintergrundjobs nacheinander
starten, d.h. die Bash soll (zunächst) nicht warten, bis einer
fertig ist, sondern alle Jobs auf die Reise schicken und danach
gleich wieder weitere Anweisungen synchron ausführen. Weiter
unten im Skript soll dann jedoch auf die Rückkehr (die
Beendigung) aller Jobs gewartet werden, wobei die Rückgabewerte
aller Hintergrundjobs ermittelt werden sollen. So könnte das in
etwa aussehen:

# Alle Backups parallel laufen lassen
for SRC_DIR in $SRC_DIR_LIST ; do
rsync <options> $SRC_DIR $DEST_DIR &
PID_LIST="$! "
done

Ich wuerde einen Zaehler in die Schleife einbauen und die PID's in
ein Array[Zaehlernummer] schreiben. So kannst Du die Auswertung in
einer while-Schleife gezielt abrufen und dort warten, bis alle
Prozesse beendet sind.
"PID_LIST" finde ich hier vom Handling her unuebersichtlich.

Das ist nur eine Idee, die _ich_ angehen wuerde.

MfG Th. Moritz

--
Solange der Nagellack nicht trocken ist,
ist eine Frau wehrlos…
(Burt Reynolds)
--
To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-programming-de+help@xxxxxxxxxxxx

< Previous Next >
References