Prozesse in Bashskript gleichzeitig ausführen?

Arp

Enthusiast
Thread Starter
Mitglied seit
04.10.2006
Beiträge
284
Hi!

Ich habe ein Skript für die Bash. In dem Skript werden ein paar Befehle ausgeführt und anschließend ein Echo gegeben.
z.b.

Befehl1
Befehl2
Befehl3
Echo ende

Alle drei Befehle sind völlig unabhängig voneinander und könnten so auf einem Quadcore gleichzeitig laufen. soweit ich weiss, kann linux die Prozesse selbstständig auf verschiedene Kerne verteilen.
Wenn ich nun schreibe

Befehl1&
Befehl2&
Befehl3&

werden zwar alle aufeinmal ausgeführt, aber anschließend das Echo ausgeführt, bevor die Drei Befehle abgeschlossen sind.

Kann man das irgendwie so machen, das die drei befehle zwar gleichzeitig laufen, aber alles was danach kommt erst dann ausgeführt wird, wenn diese drei beendet sind? (die brauchen jeweils so an die 40 sekunden).
thx
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
mh, entweder halt Befehl1&Befehl2&Befehl3 und danach echo bla (ka ob das geht)

oder mit sleep... gibt auch elegantere methoden, aber das wärn jetz mal die simpelsten ;)
 
befehl1&
befehl2&
befehl3

hab ich probiert, funktioniert auch. Ich sehe dabei allerdings ein Problem. Die laufen dann ja alle gleichzeitig. Wenn aus irgendeinem Grund aber befehl3 schneller fertig ist als die ersten beiden, dann kommt echo bevor 1 oder 2 fertig sind.
Kann man das irgendwie klammern?
z.b.
(Befehl1&Befehl2&befehl3)befehl4
 
Ich hatte sowas auch mal. Ich habe am Ende des 3 Befehle dann immer ne Datei erstellt und im Hauptscribt solange gewartet bis alle 3 Dateieen angelegt wurden.
 
mir fällt jetzt auch nur eine Abfrage nach laufendem Prozess ein mit ps und grep und if oder while bedingung
 
Arbeite doch mit nem PID File. "man test" und dann schaust du nach, ob alle 3 PID Files weg sind und echo´st was und wohin du willst ;)
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh