Назад | Перейти на главную страницу

Tomcat перезагружается даже после явного завершения работы

Мне нужно было настроить сервер Tomcat на базе Ubuntu, и я последовал этот хорошо написанный пост. Все отлично работает. Однако нарвался на странное поведение; Мне нужно было остановить сервер Tomcat, поэтому я использовал команду:

sudo /opt/tomcat/bin/shutdown.sh

Однако примерно через 10 секунд Tomcat автоматически перезапустился. Как это происходит? Выполняет следующую команду:

sudo systemctl enable tomcat

автоматически запускать службу Tomcat, если ее состояние периодически проверяется и оказывается остановленным?

Вы должны запустить, перезапустить, остановить tomcat с помощью команд systemd. Вы запустили службу Tomcatsudo systemctl start tomcat, поэтому, если вы хотите остановить это, вам нужно пройти через systemd:sudo systemctl stop tomcat. В файле объекта, согласно опубликованной вами ссылке, находятся следующие настройки: RestartSec=10 который инструктирует systemd перезапустить tomcat.service через 10 секунд в случае сбоя или выхода, и Restart=always указывает systemd перезапустить tomcat.service всегда независимо от причины сбоя или выхода, кроме случаев, когда это было вызвано действием systemd. Есть хорошее объяснение Вот. Итак, вы пытаетесь выключить tomcat рядом с systemd, а systemd видит это как некоторую неточность в поведении tomcat.service и перезапускает его.

Эта команда:

sudo systemctl enable tomcat

сообщает systemd запускать службу tomcat.service при запуске системы и ничего больше.