Hallo,
ich habe mir ein Python-Programm geschrieben, mit dem ich auf einem Raspberry Pi Messdaten erfasse. Daher läuft es dauernd im Hintergrund. Nun möchte ich dieses Programm zu einem späteren Zeitpunkt (z. B. vor dem Herunterfahren) ordnungsgemäß beenden. In meinem Fall bedeutet dies, dass es noch bis zu einer bestimmten Zeile weiterlaufen soll und dann beendet wird.
Ich stelle mir die Umsetzung wie folgt vor:
import sys
stop = False
...
while True:
time.sleep(x)
mach dies und jenes
...
if stop == True:
sys.exit()
Alles anzeigen
Nun müsste man von außen noch irgendwie diese Variable auf True setzen. Mir ist klar, dass das nicht direkt geht.
Meine Holzhammer-Lösung wäre eine Textdatei, in die neue Soll-Werte für stop geschrieben werden. Das Programm würde dann vor der if-Abfrage stop auf den Wert aus der Textdatei setzen.
Elegant finde ich diese Lösung aber nicht gerade, da unter anderem unnötige Schreibzyklen anfallen.
Bemerkung: Ich nehme bewusst in Kauf, dass das Beenden in Abhängigkeit von der konkreten Realisierung meines Programms dann ein Weilchen dauern kann.
Vielen Dank schonmal.
rt42