
Criei um script init no formato LSB e copiei-o para o diretório /etc/init.d. Posso iniciar, parar, status do serviço manualmente e tudo funciona bem. Em seguida, tento configurar o serviço para parar/iniciar automaticamente com níveis de execução fazendo:
update-rc.d service defaults
e vejo avisos como:
update-rc.d: aviso: xxx argumentos de nível de execução inicial (nenhum) não correspondem aos valores lsb default-Start (3 4 5).
e initctl list" não mostra meu serviço. Há alguma etapa que preciso executar para que este serviço seja registrado ou apareça corretamente? (Eu sei que no RedHat é "chkconfig --add xxx), mas não conheço o Ubuntu bem o suficiente.
Responder1
initctl
faz parte do mecanismo inicial do Uubuntu. initctl list
mostra apenas o status dos trabalhos iniciais. Seu script é realmente um script de inicialização SysV.
Para listar o status do script de inicialização SysV, use este comando:
service --status-all
Seu serviço deve estar listado lá.
Para criar links nas /etc/rcN
pastas use o seguinte comando:
update-rc.d your_init_script defaults
Na página de manual de update-rc.d
:
Se defaults for usado, update-rc.d criará links para iniciar o serviço nos níveis de execução 2345 e para interromper o serviço nos níveis de execução 016.