Hallo,
ich habe eine Skript, was parallel Objekte in einer Datenbank löscht.
Hierzu gibt man den Parallelitätsgrad an und dann wir eine Funktion aufgerufen.
Jetzt soll aber nachdem alle Parallelen Jobs fertig sind, noch 2 weitere Aktionen ausgeführt werden (Löschen der Job-Tabelle und Anzeige der evtl. verbliebenen Objekte)
Da ich die Ausführenden Lösch-Jobs aber in den Hintergrund schiebe, brauche ich eine Kommunikation mit dem Hauptprozess.
Also habe ich eine weitere Variable, die dann nach „Fertig“ von den jeweiligen Prozessen hochgezählt werden soll und eine Schleife zum prüfen - was leider nicht funktioniert.
Ich habe jetzt also ein kleine Testskript.
#!/bin/ksh
function schlaf {
SLEEP_V=expr 3 + $1
echo „SLEEP_V in der Schleife $1 = $SLEEP_V“
sleep $SLEEP_V
CHECK_V=expr $CHECK_V + 1
export CHECK_V
echo „CHECK_V innerhalb der Schleife $1 = $CHECK_V“
}
CHECK_V=0 # Variable in der Hochgezählt wird, ob die Loesch-Jobs beendet sind
export CHECK_V
SCHLEIFEN=3
schleife=0
while ((schleife