Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
sideshow •-->


Anmeldedatum: 07.05.2002 Beiträge: 130
|
Verfasst am: 23.01.2008 - 17:05 Titel: Endlos laufendes Script läuft nicht endlos... |
|
|
Schönen guten Tag,
ich habe eine Liste in der Shell-Script Namen gespeichert sind.
Code: |
set shellScriptList to {"script01.sh", "script02.sh", etc...}
|
Nun möchte ich, das bei Programmstart das erste Listenelement genommen und ausgeführt wird. Jetzt soll das Programm sagen wir z.B. 5 Sekunden einfach nichts tun.
Danach Script 2 aus der Liste, ausführen, 5 Sekunden Pause, etc... bis zum Ende der Liste. Wenn das Ender der Liste erreicht wird, also das letzte Shell-Script ausgeführt wurde (5 Sekunden warten natürlich), soll das Script wieder auf das erste Listenelement springen und wieder von vorn beginnen.
Ich habe schon diverse Sachen ausprobiert, leider ohne Erfolg. Zum einen bekomme ich keine "schöne Endlosschleife" hin - zum anderen möchte ich auch kein delay benutzen weil das Programm auch in den 5 Sekunden Pause ansprechbar bleiben soll.
Mein größtes Problem ist also, wie bekomme ich diesen "Endlosloop" hin? Habe auch schon mit idle experimentiert - leider aber auch kein Ergebnis hinbekommen.
Das mit der Pause damit das Programm nicht einfriert könnte ich notfalls auch über das Shell-Script steuern... aber auch keine so schöne Lösung!
Ich bin ratlos...
Das hier hab ich mir zu Gemüte geführt, aber leider nix geschafft:
http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=2564
http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=2525&postdays=0&postorder=asc&highlight=idle&start=15 _________________ Meine Wenigkeit im Internet: http://www.sideshow-systems.de |
|
Nach oben |
|
 |
sideshow •-->


Anmeldedatum: 07.05.2002 Beiträge: 130
|
Verfasst am: 23.01.2008 - 17:07 Titel: |
|
|
Ach, nicht falsch verstehen: Es geht alles wunderbar! Ich brauche nur Hilfe bei der "Endlosschleife" und dem delay! _________________ Meine Wenigkeit im Internet: http://www.sideshow-systems.de |
|
Nach oben |
|
 |
Skeeve •---->


Anmeldedatum: 20.04.2006 Beiträge: 1067
|
Verfasst am: 23.01.2008 - 18:35 Titel: |
|
|
Code: |
repeat
repeat with scr in shellScriptList
do shell script scr
display dialog "Ich warte" giving up after 5
end repeat
end repeat
|
Unschön ist vielleicht, daß der Dialog immer hochpoppt. Aber anders gefragt: Was willst Du denn in den 5 Sekunden machen?
Du könntest natürlich einen on idle handler bauen. Ohne zu prüfen ob es stimmt, müßte das ungefähr so gehen:
Code: |
property shellScriptList : {"script01.sh", "script02.sh", etc...}
property current_index : 1
property sleeptime : 5
on idle
set script_count to count of shellScriptList
if current_index > script_count then set current_index to 1
do shell script item current_index of shellScriptList
return sleeptime
end on idle
|
_________________ "All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies") |
|
Nach oben |
|
 |
sideshow •-->


Anmeldedatum: 07.05.2002 Beiträge: 130
|
Verfasst am: 24.01.2008 - 08:51 Titel: |
|
|
Hi Skeeve,
in den 5 Sekunden wollte ich dem Script eine Auszeit geben - bzw. anders gesagt: die Shell Scripte sollen nicht ständig ausgeführt werden. Sagen wir, die Liste wird durchgegangen, die Shell Scripte ausgeführt und dann soll 5 Minuten gewartet werden bis zum nächsten Durchlauf - deswegen die "Auszeit".
Das mit dem "giving up after..." find ich gar keine schlechte Idee - evtl. könnte man das doch auch einem "alert" Dialog geben der an das Hauptfenster "attached" ist, oder?
Mir persönlich würde die "idle" Methode besser gefallen - leider funktioniert es nicht so wie es soll. Er springt zwar in den "on idle" Handler, führt ihn aber nur einmal aus.
Das hab ich jetzt an Code:
Code: |
on idle
log "on idle"
return 5
end idle
on opened theObject
-- Run shell scripts
--runShellScripts()
idle
end opened
|
Ich habe jetzt das ganze Shell-Script Listen Zeugs weggelassen und wollte nur sehen ob's funktioniert. Leider tut es das nicht...
Hast du ne Idee an was es liegen könnte? _________________ Meine Wenigkeit im Internet: http://www.sideshow-systems.de |
|
Nach oben |
|
 |
sideshow •-->


Anmeldedatum: 07.05.2002 Beiträge: 130
|
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2002 phpBB Group Deutsche Übersetzung von phpBB.de
|
|
|