Peter Squentz: Problem experten sind gefragt!

Beitrag lesen

while (-e "script.lock)
{
       # warten, bis Locking-File nicht mehr existiert.
}

An diesem Punkt geht es schief, wenn mehrere Skripte parallel laufen.

open (locking, ">script.lock");
close (locking);

Besser ist es, flock zu nutzen, wenn das Betriebssystem es unterstuetzt oder selbst dafuer sorgen, dass der lock atomar ist. Vielleicht so:

while (! mkdir('verzeichnis', 0755)) {
   sleep 1;
}

Ein flock ist aber in jedem Fall zu bevorzugen. Auf keinen Fall sollte man soetwas machen:

while (irgendwas) {
}

Das garantiert eine 100% CPU-Auslastung.

Peter