Cheatah: Directory lesen mit Perl

Beitrag lesen

Hi Jörk,

Meine Idee hierzu wäre, zuerst eine Datei mit der Prozess-ID anzulegen.

die Idee ist ziemlich gut. Das Problem hatte ich schon gesehen, nur bisher als derartig unwahrscheinlich angesehen, daß ich es in Kauf genommen habe. Jetzt fehlt mir noch die Variable/der Befehl, womit ich die Prozess-ID herausfinden kann :-)

Was hälst Du von folgender Vorgehensweise:

LABEL:
my $flockcount=0;
while (-e $flockdatei && $flockcount < 5) { $flockcount++; sleep(1); }
open(FLOCK,">$flockdatei");
print FLOCK $prozess-id;
close(FLOCK);

Hier könnte sicherheitshalber noch eine kurze Pause eingelegt werden, vor allem folgt jetzt der Test:

open(FLOCK,$flockdatei);
my $pid=<FLOCK>;
close(FLOCK);
if ($pid != $prozess-id) { goto LABEL; }

Schreibzugriff gewährt :-)

Ich bin jetzt nicht ganz sicher, ob die goto-Geschichte so ganz korrekt ist. Abgesehen davon (und davon, daß ich ein paar Variablen voraussetze), würde dies Deiner Meinung nach sicher sein?

Cheatah