Разница в выводе между сценарием init.d и служебным вызовом для tomcat6
Я обновил машину 12.04 до 14.04, используя do-release-upgrade
, Все прошло хорошо, как обычно, но у этой конкретной машины возникла очень странная проблема;
Смотрите вывод для 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
Последовательный и правильный. (tomcat6
действительно работает как PID 8763).
/etc/init.d/tomcat6
Сценарий, однако, последовательно сообщает о другом результате:
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.
Что странно, потому что из-за отсутствия upstart
сценарий init.d
Сценарий на самом деле то, что service
звонок использует для информации. Удаление init.d
Сценарий подтверждает, что:
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
К сожалению, модуль Puppet я использую звонки /etc/init.d/tomcat6
и, как таковой, сообщает, что служба не работает каждые 30 минут, и выполняет перезапуск. Обновление модуля Puppet для использования service
Вместо этого call является немедленным и очевидным решением, но это не объясняет и не фиксирует тот факт, что один и тот же сценарий может иметь два возможных результата в зависимости от того, как вызывается сценарий.
Может кто-нибудь объяснить, почему это происходит, и / или подсказать, как вернуть результаты в согласованное состояние?