Bash   发布时间:2022-05-13  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了shell – Tomcat servlet引擎未运行,但pid文件存在.这条消息是什么意思?如果我得到它,我需要恢复Tomcat吗?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在制作一个 shell脚本,以便在崩溃后重启tomcat.
我想我需要在我的脚本中处理此消息“Tomcat servlet引擎未运行,但pid文件存在.”
这个消息意味着什么?
我是否需要将其作为错误消息考虑在内,迫使我重新启动Tomcat?

我的脚本如下:

#!/bin/bash
SERVICE=/etc/init.d/tomcat7
STOPPED_MESSAGE=" * Tomcat servlet container is not running."  
PID_FILE_MESSAGE=" * Tomcat servlet engine is not running,but pid file exists."

if [ "`$SERVICE status`" == "$STOPPED_MESSAGE" ];
then  
{
    $SERVICE start
}
else
    if [ "`$SERVICE status`" == "$PID_FILE_MESSAGE" ];
    then
    {
        $SERVICE restart
    }
    fi
fi

解决方法

这是 PID的定义.PID文件是包含进程标识符的文件.如果在正确设置CATALINA_PID环境变量的情况下运行Tomcat的启动脚本,则Tomcat进程的PID将在启动时记录到文件中.如果在尝试启动Tomcat时文件存在,则脚本将拒绝运行,因为它不想破坏(可能有效)PID文件.

如果您确定Tomcat没有运行,只需删除该文件(它应该通过CATALINA_PID环境变量提供)并再试一次.

我分享了@jordanm关于使用退出代码而不是检查特定(文本)输出的评论:最新版本的Tomcat甚至没有使用上面显示的消息,所以它非常脆弱.

如果你想要一个自我重新启动的服务,考虑一下jsvc,它实际上是以源代码形式提供Tomcat二进制文件.

大佬总结

以上是大佬教程为你收集整理的shell – Tomcat servlet引擎未运行,但pid文件存在.这条消息是什么意思?如果我得到它,我需要恢复Tomcat吗?全部内容,希望文章能够帮你解决shell – Tomcat servlet引擎未运行,但pid文件存在.这条消息是什么意思?如果我得到它,我需要恢复Tomcat吗?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: