Tarefa Upstart não reconhecida

2

Eu escrevi um trabalho inicial simples:

start on runlevel [2345]
stop on runlevel [016]

exec dnscrypt-proxy -E -R cisco-ipv6

Ele inicia corretamente na inicialização, mas ainda não é reconhecido por service --status-all e initctl list . Eu pesquisei na web e encontrei alguns problemas semelhantes causados por erro de sintaxe, então eu verifiquei com init-checkconf e obtive uma "sintaxe ok". Estou faltando alguma coisa?

Editar :

Eu encontrei esta questão relacionada: maneira correta de instalar um serviço upstart personalizado

Acontece que faltava sudo ao executar initctl list . Ainda assim, não explica por que alguns serviços exigem permissão de root para serem exibidos, enquanto outros não, já que todos os arquivos .conf têm exatamente o mesmo dono e permissão.

    
por Huazuo Gao 29.09.2015 / 14:02

1 resposta

1

parece que o seu dnscrypt-proxy -E -R cisco-ipv6 precisa de rede e o seu script de inicialização é executado antes da rede e de outro serviço necessário, por isso escreva um script como

start on started networking 

ou

start on network-interface-up INTERFACE=eth0 

se o seu serviço precisar de sistema de arquivos, então você pode escrever

start on filesystem and started networking

e se isso depender de outro serviço, inclua também

start on started other-service

você pode aprender com aqui

    
por pl_rock 29.09.2015 / 15:22