nikta: Ausführungszeit eines CGI Programm festlegen

hallo Leute
ich hätte eine Frage:
Ich habe ein Programm geschrieben dass für Counter zuständig ist.
in dem dass eine Datei gelesen wird und den Counterzahl (die in dem File befindet) um 1 erhöht wird.
soweit alles hat funktioniert

aber wenn der Benützer die aufgerufene Seite sehr schnell aktualisiert (sprich permanent auf STRG+R drückt), lässt keine Zeit um das Skript auszuführen und manchmal verursacht dass die Counterdatei gelesen wird aber hat keine Zeit zum schreiben dieser Datei und in Folge wird das Counter wieder auf 0 gesetzt !!!!!

also hätte fragen ob eine Möglichkeit gebe, dass man für ein Skript bestimmt dass es mindestens 1 Sekunde ausführen soll ?????
Ich danke euch im Voraus.

p.s. vielleicht habe ich total falsch programmiert ---> bitte um Vorschläge

LG
nikta

  1. p.s. vielleicht habe ich total falsch programmiert ---> bitte um Vorschläge

    Du suchst flock

    Struppi.

    1. p.s. vielleicht habe ich total falsch programmiert ---> bitte um Vorschläge

      Du suchst flock

      Struppi.

      hallo und mal danke
      habe mit flock versucht, leider hat es keinen erfolg gegeben hier ein Schnitt meines Programmes

      open(FILE,"$logfile");
        flock(FILE, LOCK_EX);
        @kh = <FILE>;
        flock(FILE, LOCK_UN);
        close(FILE);

      $kh[$staatid]++;
        $kh[$staatid]="$kh[$staatid]\n";
        $kh[220]++;
        $kh[220]="$kh[220]\n";

      open (FILE,">$logfile");
        flock(FILE, LOCK_EX);
        print FILE @kh;
        flock(FILE, LOCK_UN);
        close(FILE)

      vielleicht liegt es an meinem Programm ??
      LG
      nikta

      1. habe mit flock versucht, leider hat es keinen erfolg gegeben hier ein Schnitt meines Programmes

        Ist ja auch klar.

        open(FILE,"$logfile");
          flock(FILE, LOCK_EX);
          @kh = <FILE>;
          flock(FILE, LOCK_UN);

        Das solltest du in der Regel nicht machen, close gibt die Datei automatisch frei.

        close(FILE);

        und ab hier ist die Datei wieder frei und ein anderer Prozess kann darauf zugreifen.
        Du musst eine Datei während der ganzen Laufzeit flocken, d.h. auch evtl. zum lesen und schreiben öffnen.

        Struppi.

    2. p.s. vielleicht habe ich total falsch programmiert ---> bitte um Vorschläge

      Du suchst flock

      Struppi.

      hallo und mal danke
      habe mit flock versucht, leider hat es keinen Erfolg gegeben hier ein Schnitt meines Programmes

      open(FILE,"$logfile");
        flock(FILE, LOCK_EX);
        @kh = <FILE>;
        flock(FILE, LOCK_UN);
        close(FILE);

      $kh[$staatid]++;
        $kh[$staatid]="$kh[$staatid]\n";
        $kh[220]++;
        $kh[220]="$kh[220]\n";

      open (FILE,">$logfile");
        flock(FILE, LOCK_EX);
        print FILE @kh;
        flock(FILE, LOCK_UN);
        close(FILE)

      vielleicht liegt es an meinem Programm ??
      LG
      nikta