Estou usando o iniciante para serviços nos meus servidores. Escrever um arquivo conf e colocá-lo /etc/init
é fácil, mas isso não parece ser completamente instalado. Por um lado, o service --status-all
não lista o meu novo serviço. Eu verifiquei e se eu fizer um link em /etc/init.d
que /lib/init/ubstart-job
ele vai aparecer no status. Mas fazer isso manualmente me faz pensar que não estou fazendo certo, e pode haver outras etapas de configuração que não estão sendo feitas.
Qual é a maneira correta de instalar um serviço inicial, de forma que seja registrado corretamente em todas as ferramentas que lidam com serviços?
/lib/init/upstart-job
?Respostas:
Quando você copia inicialmente um novo arquivo conf para a pasta / etc / init, é necessário chamar:
Por isso, seu iniciante deve ser registrado corretamente.
fonte
start
estop
trabalho), mas não faz com que o trabalho apareça no status all. Eu ainda tinha que adicioná-lo manualmente/etc/init.d/
para que isso acontecesse.initctl list
comando com sudo:sudo initctl list
. Dessa forma, você verá a lista completa de serviços.I still had to manually add it to /etc/init.d
,. Você ainda tinha que adicionar o que? Isso significa que, além de umX.conf
arquivo adicionado/etc/init
, também é necessário adicionar um arquivo/etc/init.d
?Confira o manual de serviço:
(enfase adicionada)
É por isso que adicioná-lo ao /etc/init.d (onde estão os trabalhos sysvinit) fez esse trabalho. Então: tente executar a lista initctl :).
fonte
That's why adding it
Adicionando o que? Além domy_service.conf
arquivo/etc/init
, também é necessário ter um/etc/init.d
arquivo?Para serviços SysV
Certifique-se de seguir as seguintes etapas ao adicionar / criar um novo serviço no Ubuntu.
/etc/init.d/<service name>
chmod 700 /etc/init.d/<service name>
update-rc.d <service name> defaults
update-rc.d <service name> enable
Agora vejo você em serviço
fonte
Descobri que um erro no arquivo .conf pode tornar o trabalho não reconhecível pelo initctl. por exemplo, ter uma
setuid
linha no Upstart versão 1.3 ou anterior.fonte
Embora a resposta escolhida atual esteja correta para que o novo serviço seja adicionado ao inicio do processo, não é particularmente útil descobrir por que uma configuração no / etc / init / está falhando ao carregar - a peça que falta está usando o init-checkconf primeiro para garantir sua configuração é válida e, em seguida, usando reload-configuration:
fonte