Re: Bash Hintergrundprozesse

Autor: Markus Hochholdinger <Markus_at_Hochholdinger.net>
Datum: 10.12.2005
Hi,

Am Samstag, 10. Dezember 2005 01:18 schrieb Werner Holtfreter:
> zur Beschleunigung meines Backupscripts möchte ich zwei Prüfsummen
> gleichzeitig errechnen lassen. Da die Dateien auf verschiedenen
> Festplatten liegen, dürfte das schneller gehen, als nacheinander:
>
> qsum=$(cksum $quelle) &
PID=$!
> zsum=$(cksum $ziel)
>
wait $PID
> if [ qsum = zsum ]; then
> echo "OK"
> else
> echo "FEHLER"
> fi
> Doch wie kann ich erreichen, dass der Test in "if" erst ausgeführt
> wird, wenn sowohl qsum als auch zsum fertig berechnet sind?

Von einem mit & gestarteter Prozess kann man auf der Shell in der Variablen $! 
die Prozessnummer erfahren.

Mit wait kann man auf einen Prozess warten bis er nicht mehr läuft.

Siehe auch "man bash".


> Reicht schon ein Klammern?:
> ( qsum=$(cksum $quelle) & zsum=$(cksum $ziel) )

Nein.


> Wird auch parallel gerechnet, wenn ich alles in den Test-Befehl
> schreibe?:
> if [ $(cksum $quelle) = $(cksum $ziel) ]; then

Hm, das weiß ich nicht.


-- 
Gruß
                                                          \|/
       eMHa                                              (o o)
------------------------------------------------------oOO--U--OOo--
 Markus Hochholdinger
 e-mail  mailto:Markus@Hochholdinger.net             .oooO
 www     http://www.hochholdinger.net                (   )   Oooo.
------------------------------------------------------\ (----(   )-
                                                       \_)    ) /
                                                             (_/


Received on Sat Dec 10 03:16:47 2005

Dieses Archiv wurde generiert von hypermail 2.1.8.
Zurück zur UUGRN-Homepage.