2017-03-22 1 views
0

Ich habe ein Python-Skript, um Daten von ein paar angeschlossenen Sensoren zu sammeln. Dieses Skript wird im Hintergrund vom Starten des PI ausgeführt. Das Skript funktioniert einwandfrei, aber unregelmäßig fällt es in den Status "Sl". Wenn ich den PI neu starte, funktioniert es wieder für ein paar Tage, aber dann passiert es wieder.Raspberry Pi Python Skript in Sl-Zustand

Gibt es eine Möglichkeit, den Status des Skripts zu überwachen (töten Sie es und starten Sie es erneut, wenn dies geschieht) oder eine Idee, warum dies geschieht?

+0

Sie können ein anderes Programm schreiben, das prüft, ob das Skript gerade läuft oder nicht. Wenn nicht, starte es einfach neu. Sie können einen Cron-Job zum Ausführen dieses Programms in geeigneten regelmäßigen Abständen einrichten. –

Antwort

1

Sie haben ein paar Optionen (etwas verwandt):

  1. Führen Sie Ihren Skript wie pro normal, aber ein anderes Skript hat (bash funktioniert gut), die für den Zustand des Skripts überprüft. Wenn es blockiert ist, kill es, und neu starten. Dieses zweite Skript kann von einem normalen cron Job aufgerufen werden.

  2. ändern Python-Skript in einen Linux-Dienst (siehe here für ein Beispiel), und entweder überwacht diesen Dienst mit einem zweiten Skript (ähnlich), OR, macht ein service restart in regelmäßigen Abständen mit einem cron Job .