Qual é a maneira correta de executar um script python como um daemon (serviço) no raspbian (ou debian)?


9

Gostaria de usar meu Pi como termostato doméstico, com o loop de controle em execução em um script python. Quero executá-lo como um daemon no raspbian (debian) na inicialização.

Há um exemplo de script bash no /etc/init.d/skeleton, mas parece não sintético misturar bash e python. Existem módulos python e pacotes deb que podem ajudar no processamento de comandos start / stop / alert:

Alguém teve sucesso com uma abordagem específica para daemonizar um loop de controle de feedback "em tempo real" no Pi?

Respostas:


6

Eu fiz isso em vários projetos. https://bitbucket.org/dnetman99/raspberrypiprojects se você olhar para o gpsdpiTracker, ele trackerServer.pyusa a classe daemon para daemonizar o script. Eu apenas uso restartdpara assistir se ele para e reinicia, o que também significa que ele será iniciado após a inicialização. Também usei o arquivo de esqueleto para iniciar, parar o daemon, mas não é necessário se você usar esse método.

restartd = sudo apt-get install restartd

Obrigado! Exemplos impressionantes. Vou ver se consigo reciclar parte desse código. A classe daemon é do módulo python-daemon baseado no PEP 3143 e restartd está aqui .
Placas

Na verdade, parece que você criou sua própria classe Daemon. Agradável.
hobs

11
Exceto pela linha she-bang, a classe Demon no bitbucket de dnetman99 é idêntica ao daemon simples de Sander Marechal de 2007. Crédito onde o crédito é devido. Por aqui
RolfBly

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.