Ich habe ein Tool geschrieben, das bei Windows-Start via Autostart gestartet wird und dann in eine Dauerschleife und im Hintergrund läuft. Gibt es eine elegante Lösung, dieses Tool zu überwachen? Ich möchte im Betrieb davon wenig mitbekommen, wäre aber gerne informiert, wenn es seinen Betrieb einstellt. Ich habe dann einige Software, die (perspektivisch) voll automatisiert läuft und damit scheidet irgendwann das prüfen von Logdateien aus. Irgendeine Idee, wie man das lösen kann?
Dachte an etwas wie: Bei Programmabsturz schreibe mir eine Textdatei auf den Desktop und beschreibe das Problem!?
Hintergrund-Tool beaufsichtigen
@pixewakb:
Wenn das Programm wegen eines internen Fehlers terminiert, ist das der seltene Fall, wo ein naktes except um Deine main()-Funktion weiterhelfen könnte - Fehler auffangen, Stacktrace rausschreiben und dann beenden. Falls Du bestimmte Exceptions damit nicht behandeln willst, kannst Du auf diese prüfen und erneut werfen.
In der Tat klingt Dein Anliegen eher nach einem Dienst - wie man einen Dienst mit Python schreibt, findest Du beispielhaft in der Doku zum win32-Paket.
Wenn das Programm wegen eines internen Fehlers terminiert, ist das der seltene Fall, wo ein naktes except um Deine main()-Funktion weiterhelfen könnte - Fehler auffangen, Stacktrace rausschreiben und dann beenden. Falls Du bestimmte Exceptions damit nicht behandeln willst, kannst Du auf diese prüfen und erneut werfen.
In der Tat klingt Dein Anliegen eher nach einem Dienst - wie man einen Dienst mit Python schreibt, findest Du beispielhaft in der Doku zum win32-Paket.
Was genau bringt mir ein Windows-Dienst?
(Die Sache mit dem except habe ich schon implementiert. Danke!)
(Die Sache mit dem except habe ich schon implementiert. Danke!)
@pixewakb: Der ist für Hintergrundprozesse gedacht. Das ist das was das Betriebssystem für solche Aufgaben vorsieht. Du kannst angeben wann der gestartet wird, mit welchen Rechten, und wenn er startet und endet wird das protokolliert. Wie Sirius3 schon sagte: Da wacht das System drüber.