Qual è il modo giusto per eseguire uno script Python come demone (servizio) in raspbian (o debian)?


9

Vorrei usare il mio Pi come termostato domestico, con il circuito di controllo in esecuzione in uno script Python. Voglio eseguirlo come demone su raspbian (debian) all'avvio.

C'è un esempio di script bash in /etc/init.d/skeleton, ma sembra poco sensato unire bash e python insieme. Esistono moduli python e pacchetti deb che possono aiutare con l'elaborazione dei comandi start / stop / alert:

Qualcuno ha avuto successo con un approccio particolare per la demonizzazione di un loop di controllo feedback "in tempo reale" sul Pi?

Risposte:


6

L'ho fatto su diversi progetti. https://bitbucket.org/dnetman99/raspberrypiprojects se guardi gpsdpiTracker, trackerServer.pyusa la classe daemon per demonizzare lo script. Quindi uso solo restartdper vedere se si ferma e lo riavvia, il che significa che lo avvierà anche dopo l'avvio. Ho anche usato il file skeleton per start, stop daemon, ma non è necessario se si utilizza questo metodo.

restartd = sudo apt-get install restartd

Grazie! Esempi fantastici. Vedrò se posso riciclare parte di quel codice. La classe daemon proviene dal modulo python-daemon basato su PEP 3143 e il riavvio è qui .
Piani cottura

In realtà sembra che tu abbia lanciato la tua classe Daemon. Bello.
Piani cottura

1
Fatta eccezione per la linea she-bang, la classe Demon nel bitbucket di dnetman99 è identica al semplice demone di Sander Marechal del 2007. Credito dove è dovuto il credito. Via qui
RolfBly,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.