Das war nur ein Versuch, da ich mich noch nicht so gut auskenne. Klingt aber logisch die Erklärung.
Endlosprogramm - Ausführung beenden lassen
So ein Linux-System hat eigens Möglichkeiten zum Management von Hintergrundprozessen (auch Daemons genannt), und ein aktuelles Raspbian nutzt dafür wie die meisten anderen Distributionen eine Software namens systemd. Dazu mußt Du nur ein sogenanntes Unitfile schreiben, es an die richtige Stelle (zum Beispiel /etc/systemd/system/) legen und es Deinem systemd-System einmalig (oder nach jeder Änderung Deines Unitfile) mit dem Kommandozeilenbefehl mit "systemctl daemon-reload" bekannt machen. Danach kannst Du die Ausführung Deines Programms mit "systemctl [Befehl] [Unitfilename]" steuern, wobei [Unitfilename] für den eindeutigen Namen Deines Unitfile steht und [Befehl] etwa "start", "stop", "enable" und "disable" sein kann. Was die ersten beiden tun, dürfte klar sein, die Befehle "enable" und "disable" werden benutzt, damit Dein Unitfile beim Booten automatisch gestartet wird ("enable") oder eben nicht ("disable"). Einen Einstieg findest Du hier: [1, 2]. Neben dem Vorteil der einheitlichen Verwaltung Deiner Hintergrundprogramme bindet systemd Dein Programm automatisch ins systemweite Logging ein; alles, was Dein Programm auf STDOUT und STDERR (Python: sys.stdout und sys.stderr) ausgibt, landet in den systemweiten Logdateien, inklusive Zeitstempel und allem drum und dran. systemd kann Dein Programm zusätzlich überwachen und es neu starten, wenn es abgestürzt ist oder (zum Beispiel vom OOM-Killer) beendet wurde.
Der zweite Punkt, den ich persönlich nicht so schön finde, ist, daß Dein Programm in Deinem Homeverzeichnis liegt. Zur Entwicklungszeit und auf einem privaten System ist das natürlich kein Problem, aber wenn Du damit in einen dauerhaften Betrieb gehen und vielleicht auch noch andere Systemadministratoren dabeihaben möchtest, ist es eleganter, Dein Programm dort zu installieren, wo selbstgestrickte Programme unter einem Linux nun einmal hingehören, nämlich in der Ordnerhierachie /usr/local/, in Deinem Fall also /usr/local/bin/.
[1] https://www.netways.de/blog/2017/10/13/ ... unitfiles/
[2] https://wiki.ubuntuusers.de/systemd/Units/