Nenhuma saída do comando start / stop / restart do serviço

10

Acabei de instalar o Ubuntu 16.04 LTS e descobri que quando executo

usr@server:~$ sudo service <servicename> restart
usr@server:~$

O serviço é reiniciado (posso ver o status com service <servicename> status), mas o shell retorna diretamente à linha de comando sem o esperado:

* Stopping <servicename>     [ OK ]
* Starting <servicename>     [ OK ]
Eduardo Coria
fonte
Você deu uma olhada nos logs para ver se há alguma informação que possa ajudar a diagnosticar o problema? Ele deve estar em / var / log / #
Diego Diego
2
Não há nenhum problema com o serviço em si. É o prompt de comando retornando sem saída que me confunde. Isso acontece com todos os serviços. O comando faz o que se espera (iniciar / parar / reiniciar o serviço), mas não há saída
Eduardo Coria

Respostas:

9

Você não deveria esperar essa saída.

Para iniciantes, o Ubuntu não se comportou dessa maneira em versões anteriores. O Ubuntu era um sistema novato por pouco menos de uma década, e o comportamento do servicecomando no Ubuntu durante todos esses anos não se parecia com o que você está esperando. Pode-se ver o comportamento inicial do servicecomando na imagem em Como obtenho o comando de serviço para imprimir a saída em 15.10? .

A resposta é praticamente a mesma para você e para as pessoas com Ubuntu versão 15.10 no ano passado:

Você está usando o Ubuntu versão 16.10, um sistema operacional systemd. O gerenciamento de serviços do sistema não é mais realizado pelo iniciante (ou qualquer utilitário que o tenha feito em qualquer sistema operacional que não seja o Ubuntu que você tinha antes). É realizado pelo systemd.

O servicecomando pode ser o mesmo ... mas o servicecomando Debian / Ubuntu é um script de shell que tenta detectar automaticamente se upstart ou systemd é o gerenciador de serviços do sistema em execução e executa os comandos reais de gerenciamento de serviços nativos para upstart e systemd. Ele executa dois caminhos de código completamente diferentes para iniciantes e para systemd.

comandos de gerenciamento de serviços nativos do arrivista são initctl start, initctl stop, initctl statuse assim por diante. Essas mensagens são impressas à medida que avançam.

comandos de gerenciamento de serviços nativos do Systemd são systemctl start, systemctl stop, systemctl statuse assim por diante. Aqueles não imprimem saída enquanto operam.

Leitura adicional

JdeBP
fonte
1
"Você não deveria esperar essa saída." não é um ótimo lugar para começar uma resposta. Você está basicamente dizendo: "Sua opinião está errada". O que você quis dizer, eu acho, é "isso não é possível com o systemd". Durante os primeiros dias, a saída DID do Ubuntu ... está na questão de "Como obtenho o comando service para imprimir a saída na 15.10". Antes da 15.10, o Ubuntu usava upstart e upstart (como o sysvinit) era detalhado. Então, por favor, não diga: "Tem sido assim há uma década". Não tem. Foi alterado em 15.10. O Systemd não é detalhado e tem sido super irritante desde que as distribuições começaram a implantá-lo.
bobpaul
O questionador claramente lhe disse o que xe estava esperando, e a saída inicial não se parece com isso. Você está confuso ou não leu a pergunta.
JdeBP
0

Na verdade, você não precisa de uma saída OK. Nenhuma saída significa OK. Quando um serviço não inicia corretamente, o Ubuntu mostra algo como isto:

A tarefa de php5.6-fpm.service falhou porque o processo de controle saiu com o código de erro. Consulte "status do systemctl php5.6-fpm.service" e "journalctl -xe" para obter detalhes.

No meu caso, este exemplo foi uma configuração incorreta no meu php-fpm.conf que desabilitou o serviço para iniciar. Depois de seguir as instruções, classifiquei o que estava causando o erro.

Filipe Marques
fonte