Wie schaffe ich es, ein Python-Skript so auf einem Windows 2008-Terminalserver zu starten, daß es in der "Konsole" und damit dauerhaft läuft?
Sämtliche Anmeldungen, auch als Admin, sind ja Terminalsitzungen, die nach dem Ausloggen nach 1 oder 2 Stunden verschwinden und damit das Pythonskript ins Grab nehmen. Remote Desktop mit /admin, um auf Sitzung 0 zu gelangen, gibts unter 2008 nicht mehr. An den Alternativen, die Mickysoft dazu nennt, habe ich mir die Zähne ausgebissen.
Python-Skript auf Windows Terminal Server 2008
Ich finde dazu das hier:
http://www.python-forum.de/viewtopic.php?p=52866
wo man mit einem irrsinnigen Aufwand und neuen Libraries das komplette Skript umschreiben muß.
Geht das nicht auch ohne Umschreiben?
http://www.python-forum.de/viewtopic.php?p=52866
wo man mit einem irrsinnigen Aufwand und neuen Libraries das komplette Skript umschreiben muß.
Geht das nicht auch ohne Umschreiben?
Ich habs mal ausprobiert, auch das Testprogramm aus http://www.chrisumbel.com/article/windo ... _in_pythonSirius3 hat geschrieben:@flummi100: ich sehe gerade mal 10 zusätzliche Zeilen. Du kannst in »SvcDoRun« einfach Deine »main()« aufrufen.
Das funktioniert zwar, aber die Hauptschleife muß ja den Service-Stop abfragen, und das kann sie nur, wenn man das ganze Programm komplett umschreibt und in die Service-Klasse einfügt. Hölle!
Kann man Python-Skripte nicht einfach so im Hintergrund laufen lassen?
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Das sieht für mich einfach aus, ohne den Code verändern zu müssen:
http://ryrobes.com/python/running-pytho ... s-service/
Außerdem gibt es noch "Geplante Aufgaben".
http://ryrobes.com/python/running-pytho ... s-service/
Außerdem gibt es noch "Geplante Aufgaben".
Sieht interessant aus. Braucht aber ein Skript, das endet.Sr4l hat geschrieben:Das sieht für mich einfach aus, ohne den Code verändern zu müssen:
http://ryrobes.com/python/running-pytho ... s-service/
Außerdem gibt es noch "Geplante Aufgaben".
Meins wartet in einer Endlosschleife mit geöffneten Logdateien, in die es ab und zu was schreibt.
Dürfte also den Timeout von der Serviceroutine auslösen.
Alternative wäre, es leicht umschreiben von Schleife auf Durchlauf und damit durch den Neustart zB jede 10 Sekunden die Logdateien schließen und wieder öffnen.
Bringt einen Server nicht um, klingt aber nicht ressourcenschonend.