• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Auf Hintergrundprozess warten

gnuad

Newbie
Hi,

ich versuche ein kleines shell-Skript (bash) zu schreiben, und verwende dazu die möglichkeit befehle im hintergrund auszuführen, weil sie sequentiell zu lange dauern würden.
ich will aber dass mein skript danach wartet bis die 2 befehle fertig ausgeführt wurden und dann erst wieder weitermachen. wie geht das?

Also:
befehl1&
befehl2&
WARTE BIS befehl1 und befehl2 fertig sind und führe dann erst befehl3 durch

Hoffe es kann mir jemand helfen, danke für jeden hinweis,
martin
 
Normalerweise würde ich sagen das dies über shell-scripte nicht so schön geht, weil Du nie sicher weißt ob 1 oder 2 zuerst Zuende ist. Von daher bleibt dir nur die Möglichkeit über ps nachschauen zu lassen ob beide beendet sind (in einer Schleife) und erst wenn beide Prozesse weg sind, den Befehl 3 auszuführen.
 

regexer

Advanced Hacker
"wait" ist dein Freund. "$!" auch.

Beispiel mit dem Befehl sleep:

Code:
sleep 20 &
savePID=$!
sleep 30 &
wait $savePID $!
 
Oben