Como registrar um serviço iniciante?

6

Eu escrevi um serviço upstart seguindo o artigo wiki do Ubuntu e criei um arquivo .conf em /etc/init/ . Não há instruções sobre como proceder para disponibilizar o script em initctl list e para upstart comandos de gerenciamento, como start e service . O livro de culinária oficial do upstart não explica este assunto.

O início falha com

$ start archiva
start: Unknown job: archiva
$ service archiva start
archiva: unrecognized service
    
por Karl Richter 21.04.2015 / 11:53

3 respostas

4

Provavelmente existem alguns erros no seu arquivo conf. Para verificar, use:

 init-checkconf archiva.conf

ou

 initctl check-config archiva

como descrito no livro de receitas do upstart: 10.1.6.2 initctl check-config e 10.1.7 init-checkconf .

Upstart usa o daemon init que, de acordo com a página man:

  

Na inicialização, o daemon init (8) do Upstart lê sua configuração de trabalho   de arquivos no diretório / etc / init /, e assiste para o futuro   mudanças para esses arquivos usando inotify (7).

Então, uma vez que você coloque o seu arquivo de configuração em /etc/init , seu serviço está habilitado e na próxima reinicialização, o daemon do init irá iniciá-lo.

    
por Lety 21.04.2015 / 13:59
1

O Upstart usa o inotify. Se você soltar um arquivo de configuração em /etc/init/ , o Upstart deverá detectar e disponibilizar o trabalho automaticamente. Se você não o vir, pode haver um problema em sua nova configuração. Tente verificar os logs em busca de erros.

    
por Robie Basak 21.04.2015 / 12:02
0

Definir uma variável no arquivo /etc/init/scriptname.conf na forma de NAME=value , como faria em um script initd , faz com que o upstart ofereça esse feedback sem sentido (dizer que há um erro de sintaxe é muito mais adequado do que dizendo que o roteiro não existe). Remover a linha faz com que o script seja reconhecido e iniciado aleatoriamente (veja minha melhoria sugerida como bug 1446577 na barra de lançamento .net para detalhes).

    
por Karl Richter 21.04.2015 / 13:33

Tags