我有一个 Tomcat 服务正在运行,有时会失败 - 我还没有找到原因。在 Catalina 日志中,我看到以下内容:
Feb 03, 2022 10:54:39 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-80"]
Feb 03, 2022 10:54:39 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-443"]
Feb 03, 2022 10:54:39 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Feb 03, 2022 10:54:39 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
但并未提供任何有关根本原因的信息。
当我尝试查看服务状态时:
$sudo -E service tomcatd status
tomcatd dead but pid file exists
我想编写简单的 monit 脚本来监视此行为并在发生此行为时重新启动 tomcatd,但我没有找到这种情况的任何示例。有什么想法吗?
答案1
要修复此问题,请尝试以下操作。
kill -9 pid
ps -eaf|grep pid
service service-name restart
现在对于 monit,您必须编写脚本来检查日志和 pid 并执行所需的操作。
以下是一些示例
要了解根本原因,您必须在调试模式下运行,或者如果您已经在运行,请检查日志,了解在进程终止或失去功能之前发生了什么。