1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Skript mit Endlosschleife soll Neustart nicht behindern

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Tekl, 06.09.07.

  1. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Hi,

    ich habe ein Skript, was in einer Endlosschleife Ordner überwacht. Möchte ich nun den Rechner neu starten, wird das von dem Skript behindert und ich muss es mit ?. beenden. Gibt es eine Möglichkeit, dass sich das Skript selbst beendet, wenn der Rechner herunterfährt?
     
  2. CloneOfMyself

    CloneOfMyself Weigelts Zinszahler (Rotfranch)

    Dabei seit:
    24.02.07
    Beiträge:
    253
    Ist es wirklich eine Endlosschleife, oder benutzt du den "on idle"-Handler?
    Der ist nämlich für solche Aufgaben gemacht, und lässt sich ohne weiteres durch einen Neustart beenden (wenn du den "on quit"-Handler aus diesem Beispiel weglässt). Das Script muss als Programm mit der Option "Nicht automatisch Beenden" gesichert werden, damit's funktioniert:

    on idle
    ***beep
    ***return 4
    end idle

    on quit
    ***if button returned of ¬
    ******(display dialog "Really quit?" buttons {"Continue", "Quit"} default button {"Continue"}) ¬
    *********is "Quit" then
    ******continue quit
    ***else
    ******tell application "Finder" to open file (path to me as text)
    ***end if
    end quit
     
    #2 CloneOfMyself, 06.09.07
    Zuletzt bearbeitet: 06.09.07
  3. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Aber wann genau greift on idle? Das Skript überwacht Ordner und benennt sie so um, dass im Ordnernamen steht wie voll der Ordner ist, da der Finder über's Netz die Größen falsch oder sehr spät berechnet. Da das Skript auf dem Server läuft könnte es ja passieren, wenn da viel los ist, dass das Skript nicht läuft, oder?

    Aber schon mal Danke für deine Tipps.
     
  4. CloneOfMyself

    CloneOfMyself Weigelts Zinszahler (Rotfranch)

    Dabei seit:
    24.02.07
    Beiträge:
    253
    Der on idle-Handler ist im Prinzip nicht viel anders, als eine Schleife. Wenn das Script grad nichts anderes vor hat, arbeitet es den on idle-Handler bis zum Schluss durch.

    Der return-Wert (in Sekunden) gibt dabei an, wann das Skript nach Abarbeitung zum on idle-Handler zurückkehren soll, um die ganze Prozedur von vorn zu beginnen. Also im Prinzip kein bisschen schlechter als deine bisherige repeat-Schleife.
     
  5. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Ok, vielen Dank für die kompetente Hilfe.
     

Diese Seite empfehlen