Markus Banach: perl automatisch

Liebe Forumteilnehmer,

kennt jemand von Ihnen einen Weg ein Perl Skript dazu zu
bewegen, dass es sich in bestimmten Zeit Intervallen selbst aufruft und ausfuehrt ?

Oder muss dieses Problem auf der Ebene des Betriebssystems (in meinen Fall Unix) geloest werden ?

Vielen Dank fuer Ihre Aufmerksamkeit !
Ich freue mich auf Ihre Beitraege !

Markus Banach

  1. Hallo Markus,

    normalerweise macht man das mit einem cronjob, damit kann man
    unter Unix beliebige Programme zeitgesteuert ausführen. Eine Anleitung
    gibt es mit 'man crontab'.

    Grüße
    Stephan

  2. Hallo Markus,

    kennt jemand von Ihnen einen Weg ein Perl Skript dazu zu
    bewegen, dass es sich in bestimmten Zeit Intervallen selbst aufruft und ausfuehrt ?

    Nur wenn es über den Browser aufgerufen wird:
    Sende folgenden HTML-Code mit print an den Browser:

    <meta http-equiv="refresh" content="5; URL=http://www.deinedomain.de/cgi-bin/deincgi.cgi">

    Dein Script wird dann alle 5 Sekunden aufgerufen.
    Vgl:<../../tga.htm#a2>

    Gruß
    Christian

  3. kennt jemand von Ihnen einen Weg ein Perl Skript dazu zu
    bewegen, dass es sich in bestimmten Zeit Intervallen selbst aufruft und ausfuehrt ?

    Muß es dabei neu aufgerufen werden?

    Reicht nicht auch ein Perl-Programm, das in einer Schleife seine Berechnung durchführt und sich dann mit einem Systemaufruf (unter UNIX müßte sleep () verfügbar sein) bis zum nächsten "Aktivierungszeitpunkt" schlafen legt (non-busy wait)?

    Dasselbe könnte ein drum herum laufendes Shell-Skript tun:
    while true
       do exec-perlskript;
          sleep dauer-in-sekunden;
    done

    crontab ist die schönere und stabilere Methode (da muß man sich beispielsweise keine Gedanken machen, was nach einem Systemneustart passiert) - aber nicht jeder hat crontab-Zugriff ...

    1. Hallo Michael!

      Reicht nicht auch ein Perl-Programm, das in einer Schleife seine Berechnung durchführt und sich dann mit einem Systemaufruf (unter UNIX müßte sleep () verfügbar sein) bis zum nächsten "Aktivierungszeitpunkt" schlafen legt (non-busy wait)?

      Machbar waere das sicher. Wenn ich allerdings der Administrator dieser Kiste waere und mir zufaellig mal die laufenden Prozesse anschaue, wuerde aus dem non-busy wait ganz schnell ein even-less-busy dead werden, weil ich das Ding einfach mittels kill rauswerfen wuerde. Kann schliesslich nicht sein, dass der Prozess irgendeines Users im Speicher als Leiche rumhaengen bleibt.

      Was wahrscheinlich nicht machbar ist, ist ein non-busy waiting script ueber CGI anzustossen, denn wenn der Browser die Verbiundung abbaut (Stop-Button), wird meines Wissens auch das Script beendet. Hoechstens der Trick, den Erik Tews neulich genannt hatte, koennte da helfen: <../../sfarchiv/1999_2/t03884.htm#a18765>. Aber wie gesagt, wenn ich Admin auf der Kiste waere...

      Bye by Calocybe