O serviço é iniciado quando chamado, mas não na inicialização

1

Eu escrevi um script iniciante simples que dá início a um programa em python e salvei-o como vgpusher.conf .

Ele não é iniciado automaticamente, mas se eu executar sudo start vgpusher , ele será iniciado e funcionará bem.

O código é simples:

description "vgpush"

start on runlevel [2345]
stop on runlevel [!2345]

script
    cd /home/computer/
    python pusher.py
end script

Coloquei o script em /etc/init . Fora isso, não fiz configuração.

A máquina está executando o Ubuntu 10.04 Server.

Preciso dar um passo extra para o serviço iniciar na inicialização?

    
por mitchfish36 08.07.2013 / 16:21

2 respostas

3

Primeiro, você não precisa de script:

description "vgpush"

start on runlevel [2345]
stop on runlevel [!2345]

chdir /home/computer
exec python pusher.py

Em segundo lugar, pode ajudar a registrar a saída. Se você atualizar para 12.04 (Altamente recomendado!), Você terá um login em /var/log/upstart/$jobname.log. Para 10.04, você precisa fazer isso manualmente:

description "vgpush"

start on runlevel [2345]
stop on runlevel [!2345]

chdir /home/computer
exec python pusher.py 2>&1 >> /var/log/vgpush.log

Isso pode dar alguma pista. Se eu tivesse que adivinhar, é porque o vgpush precisa de uma interface de rede que não esteja, e o 10.04 inicia o nível de execução 2 antes que todas as interfaces de rede estejam prontas.

    
por SpamapS 08.07.2013 / 19:09
1

Ao solucionar problemas de um trabalho iniciante, há algumas coisas a serem verificadas.

  1. Verifique se o trabalho inicial está correto. Seu parece muito bom, mas eu sugiro usar o caminho completo para o executável python (/ usr / bin / python).

  2. Verifique o log de trabalhos iniciados. existe um arquivo de log para cada trabalho em /var/log/upstart/.log É possível que seu trabalho esteja iniciando e falhando por algum motivo (talvez o pusher.py precise que a rede esteja ativa) e esse arquivo de log provavelmente terá informações naquilo. No mínimo, pelo menos, mostrará se o trabalho está tentando começar.

por tgm4883 08.07.2013 / 17:18