Skriptfrage: zwei Prozesse gleichzeitig starten
Servus zusammen, in einem Skript möchte ich gerne folgendes realisieren: #!/bin/bash [...] rsync Übertragung über langsamen Link Nr. 1 & rsync Übertragung über langsamen Link Nr. 2 & [was kommt hier?] echo "Beide Übertragungen sind fertig" Wie kann man es anstellen, daß beide (oder mehr) rsync-Prozesse starten, und erst wenn der letzte fertig ist, läuft das Skript weiter? Danke+Gruß! -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Andre Am Sonntag, 18. Juli 2010 11:27:37 schrieb Andre Tann:
#!/bin/bash [...] rsync Übertragung über langsamen Link Nr. 1 & rsync Übertragung über langsamen Link Nr. 2 &
[was kommt hier?]
echo "Beide Übertragungen sind fertig"
Wenn du beim untersten rsync einfach das & weg-lässt, dann bleibt der Prozess im Vordergrund und das Script geht erst weiter wenn dieser Vordergrund-Prozess fertig ist. Zumindest geh ich mal davon aus :-) Viele Grüße Peter -- ____ ___ _ ___ ___ _____ _ ___ |___ \ / _ \/ |/ _ \ / _ \___ | / |( _ ) __) | | | | | | | |_____| | | | / /____| |/ _ \ / __/| |_| | | |_| |_____| |_| |/ /_____| | (_) | |_____|\___/|_|\___/ \___//_/ |_|\___/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Moin, On Sun, 18 Jul 2010, 11:45:51 +0200, Peter Steffinger wrote:
Hallo Andre
Am Sonntag, 18. Juli 2010 11:27:37 schrieb Andre Tann:
#!/bin/bash [...] rsync Übertragung über langsamen Link Nr. 1 & rsync Übertragung über langsamen Link Nr. 2 &
[was kommt hier?]
echo "Beide Übertragungen sind fertig"
Wenn du beim untersten rsync einfach das & weg-lässt, dann bleibt der Prozess im Vordergrund und das Script geht erst weiter wenn dieser Vordergrund-Prozess fertig ist. Zumindest geh ich mal davon aus :-)
tja, wenn aber der zweite viel schneller fertig ist als der erste, dann hat er wieder das gleiche Problem. Hierfuer gibt's den "wait" Befehl in der Bash: $ help wait wait: wait [n] Wait for the specified process and report its termination status. If N is not given, all currently active child processes are waited for, and the return code is zero. N is a process ID; if it is not given, all child processes of the shell are waited for. HTH, cheers. l8er manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Sunday 18 July 2010 11:27:37 Andre Tann wrote:
[was kommt hier?]
wait;wait oder besser rsync Übertragung über langsamen Link Nr. 1 & pid1=$! rsync Übertragung über langsamen Link Nr. 2 & pid2=$! wait $pid1 wait $pid2 Wenn Du aber nur die 2 Kindprozesse hast, ist das obige 2 Mal "wait" durchaus gut. Torsten Förtsch -- Need professional modperl support? Hire me! (http://foertsch.name) Like fantasy? http://kabatinte.net -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Servus Torsten und Manfred, Torsten Förtsch, Sonntag 18 Juli 2010:
wait;wait
rsync Übertragung über langsamen Link Nr. 1 & pid1=$! rsync Übertragung über langsamen Link Nr. 2 & pid2=$! wait $pid1 wait $pid2
wait kannte ich noch nicht. Danke, das hilft mir! Gruß! Andre -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (4)
-
Andre Tann
-
Manfred Hollstein
-
Peter Steffinger
-
Torsten Förtsch