¿Cuál es la forma correcta de ejecutar un script de Python como daemon (servicio) en raspbian (o debian)?


9

Me gustaría usar mi Pi como termostato doméstico, con el bucle de control ejecutándose en un script de Python. Quiero ejecutarlo como un demonio en raspbian (debian) al inicio.

Hay un ejemplo de script bash en /etc/init.d/skeleton, pero parece poco propicio mezclar bash y python juntos. Hay módulos python y paquetes deb que pueden ayudar con el procesamiento de comandos de inicio / detención / alerta:

¿Alguien ha tenido éxito con un enfoque particular para demonizar un bucle de control de retroalimentación "en tiempo real" en el Pi?

Respuestas:


6

He hecho esto en varios proyectos. https://bitbucket.org/dnetman99/raspberrypiprojects si miras el gpsdpiTracker, trackerServer.pyusa la clase daemon para demonizar el script. Luego solo uso restartdpara ver si se detiene y lo reinicia, lo que también significa que también se iniciará después del arranque. También he usado el archivo de esqueleto para iniciar, detener el demonio, pero no es necesario si usa este método.

restartd = sudo apt-get install restartd

¡Gracias! Impresionantes ejemplos. Veré si puedo reciclar parte de ese código. La clase daemon es del módulo python-daemon basado en PEP 3143 y el reinicio está aquí .
Hobs

En realidad, parece que sacaste tu propia clase de Daemon. Agradable.
Hobs

1
Excepto por la línea she-bang, la clase Demon en el bitbucket de dnetman99 es idéntica al demonio simple de Sander Marechal de 2007. Crédito donde se debe el crédito. Vía aquí
RolfBly

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.