Script Python como um serviço no Ubuntu 11.10

3

Estou enfrentando o seguinte problema. Eu quero executar um script python como um serviço no sistema Ubuntu 11.10 (já mencionado no seguinte link: Serviço Python usando o Upstart no Ubuntu ) Eu segui os passos mencionados no link acima mencionado, mas recebi a seguinte mensagem de erro no syslog:

init: script main process (21826) terminated with status 1
Jun 8 16:59:55 bilbo kernel: [263012.984531] init: script main process ended, respawning
Jun 8 16:59:55 bilbo kernel: [263013.044099] init: script main process (21827) terminated with status 1

As duas linhas acima estão se repetindo o tempo todo.

Ao dizer sudo start script , recebo o seguinte:

$ sudo start script
script start/running, process 21826

A seguir, o conteúdo do meu script.conf colocado em /etc/init :

description "Used to start python script as a service"
author "bilbo"
start on runlevel [2]
stop on runlevel [06]
exec python /home/bilbo/scripts/webserver.py
respawn

Por favor, me diga o que estou fazendo de errado? Eu tenho que mudar meu código python também?

    
por bugs99 08.06.2012 / 14:48

1 resposta

1

webserver.py está saindo com um valor diferente de zero. Por padrão, o Upstart considera isso um erro e está tentando reiniciar o serviço.

Quanto ao porquê webserver.py está saindo - meu palpite é que ele está assumindo um ambiente específico. Quando o Upstart gera um processo, ele limpa o ambiente, assim como cron e at , e define um número muito pequeno de variáveis, a saber:

  • TERM
  • PATH
  • e alguns específicos de Upstart (consulte link )

Para ver todo o ambiente de trabalho, adicione uma chamada a set , conforme mostrado aqui:

Se o seu serviço python precisar de outras variáveis, você poderá defini-las usando " env " (a sub-rotina Upstart, não o comando shell). Veja:

por jamesodhunt 08.06.2012 / 18:24