Python-Skript auf Windows Terminal Server 2008

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
flummi100
User
Beiträge: 8
Registriert: Mittwoch 10. Juli 2013, 22:33

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.
BlackJack

@flummi100: Ich würde versuchen das Programm als Dienst laufen zu lassen.
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@flummi100: google bietet unter dem Stichwort »python windows service« genug Beispiele.
flummi100
User
Beiträge: 8
Registriert: Mittwoch 10. Juli 2013, 22:33

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?
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@flummi100: ich sehe gerade mal 10 zusätzliche Zeilen. Du kannst in »SvcDoRun« einfach Deine »main()« aufrufen.
flummi100
User
Beiträge: 8
Registriert: Mittwoch 10. Juli 2013, 22:33

Sirius3 hat geschrieben:@flummi100: ich sehe gerade mal 10 zusätzliche Zeilen. Du kannst in »SvcDoRun« einfach Deine »main()« aufrufen.
Ich habs mal ausprobiert, auch das Testprogramm aus http://www.chrisumbel.com/article/windo ... _in_python
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?
flummi100
User
Beiträge: 8
Registriert: Mittwoch 10. Juli 2013, 22:33

2 Jahre und noch immer gibt es keine Lösung für das Problem. Traurig.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@flummi100:
Was hast Du denn probiert in den 2 Jahren?
Benutzeravatar
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".
flummi100
User
Beiträge: 8
Registriert: Mittwoch 10. Juli 2013, 22:33

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".
Sieht interessant aus. Braucht aber ein Skript, das endet.
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.
Antworten