Мне нужно было настроить сервер Tomcat на базе Ubuntu, и я следовалэтот хорошо написанный пост. Все работает отлично. Однако столкнулся со странным поведением; мне нужно было остановить сервер Tomcat, поэтому я использовал команду:
sudo /opt/tomcat/bin/shutdown.sh
Однако примерно через 10 секунд Tomcat автоматически перезапустился. Как это происходит? Выполняет ли следующая команда:
sudo systemctl enable tomcat
автоматически запускать службу Tomcat, если ее состояние периодически проверяется и обнаруживается остановленной?
решение1
Вам следует запустить, перезапустить, остановить tomcat с помощью команд systemd. Вы запустили службу tomcat sudo systemctl start tomcat
, поэтому если вы хотите ее остановить, вам нужно перейти через systemd: sudo systemctl stop tomcat
. В файле unit, согласно ссылке, которую вы разместили, есть настройки, которые: ,
RestartSec=10
которые предписывают systemd перезапустить tomcat.service через 10 секунд в случае сбоя или выхода, и Restart=always
предписывают systemd делать это restart tomcat.service всегда, независимо от причины сбоя или выхода, за исключением случаев, когда это было вызвано действием systemd. Есть хорошее объяснениездесь. Итак, вы пытаетесь завершить работу tomcat вместе с systemd, а systemd видит в этом какую-то неисправность в поведении tomcat.service и перезапускает его.
Эта команда:
sudo systemctl enable tomcat
сообщает systemd о необходимости запустить tomcat.service при запуске системы и ничего более.