我需要设置一个基于 Ubuntu 服务器的 Tomcat 服务器,然后我按照这篇写得很好的文章。一切运行正常。但是遇到了一个奇怪的行为;我需要停止 Tomcat 服务器,因此我使用了以下命令:
sudo /opt/tomcat/bin/shutdown.sh
但是,大约 10 秒后,Tomcat 会自动重启。这是怎么回事?执行以下命令:
sudo systemctl enable tomcat
如果定期检查 Tomcat 服务状态并发现其已停止,是否自动启动该服务?
答案1
您应该使用 systemd 命令启动、重启、停止 tomcat。您已启动 tomcat 服务sudo systemctl start tomcat
,因此如果您想停止它,则需要通过 systemd:sudo systemctl stop tomcat
。根据您发布的链接,在单元文件中,设置如下:
RestartSec=10
指示 systemd 在发生故障或退出的情况下在 10 秒后重新启动 tomcat.service,并Restart=always
指示 systemd 始终重新启动 tomcat.service,无论故障或退出的原因是什么,除非是由于 systemd 操作。有很好的解释这里。因此,您尝试在 systemd 之外关闭 tomcat,而 systemd 认为 tomcat.service 行为存在一些异常,因此重新启动了它。
此命令:
sudo systemctl enable tomcat
告诉 systemd 在系统启动时启动 tomcat.service,不执行任何其他操作。