Eu atualizei uma máquina 12.04 para 14.04 usando do-release-upgrade
. Tudo correu bem, como de costume, mas esta máquina em particular tem um problema muito estranho depois.
Veja a saída de service tomcat6 status
:
root@box:/etc# service tomcat6 status
* Tomcat servlet engine is running with pid 8763
root@box:/etc# service tomcat6 status
* Tomcat servlet engine is running with pid 8763
root@box:/etc# service tomcat6 status
* Tomcat servlet engine is running with pid 8763
root@box:/etc# service tomcat6 status
* Tomcat servlet engine is running with pid 8763
Consistente e correto. ( tomcat6
está realmente sendo executado como PID 8763).
No entanto, o script /etc/init.d/tomcat6
informa consistentemente um resultado diferente:
root@box:/etc# /etc/init.d/tomcat6 status
* Tomcat servlet engine is not running, but pid file exists.
root@box:/etc# /etc/init.d/tomcat6 status
* Tomcat servlet engine is not running, but pid file exists.
root@box:/etc# /etc/init.d/tomcat6 status
* Tomcat servlet engine is not running, but pid file exists.
root@box:/etc# /etc/init.d/tomcat6 status
* Tomcat servlet engine is not running, but pid file exists.
O que é estranho, porque devido à falta de um script upstart
, o script init.d
é realmente o que a chamada service
usa para obter informações. Remover o script init.d
confirma que:
root@box:/etc# mv /etc/init.d/tomcat6 /root/
root@box:/etc# service tomcat6 status
tomcat6: unrecognized service
root@box:/etc# mv /root/tomcat6 /etc/init.d/
root@box:/etc# service tomcat6 status
* Tomcat servlet engine is running with pid 8763
Infelizmente, o módulo Puppet que estou usando chama /etc/init.d/tomcat6
e, como tal, informa que o serviço está inativo a cada 30 minutos e executa uma reinicialização. A atualização do módulo Puppet para usar uma chamada service
é a solução imediata e óbvia, mas isso não explica ou conserta o fato de que o mesmo script pode ter dois resultados possíveis, com base em como o script é chamado.
Alguém pode explicar por que isso está acontecendo e / ou me dizer como recuperar os resultados em um estado consistente?