我正在使用shell脚本启动tomcat服务器(如果它没有运行)。我在cronjob中运行此脚本以经常检查它。这是我的剧本
getParameterByName
但每当我运行此脚本时,它都会给我一个错误。如果tomcat没有运行,那么错误是:
[:ILLEGAL NUMBER:* Tomcat Servlet Engine未运行。]
如果tomcat正在运行,则错误是:
[:ILLEGAL NUMBER:* Tomcat Servlet Engine正在使用pid 6130运行。]
我认为该错误与$ SERVICE状态有关,但我无法解决。我是一个新的蜜蜂到shell脚本。请帮帮我。
在我解决这个问题之前,我不能继续前进。
答案 0 :(得分:1)
-eq
需要2个整数进行比较(参见man test
)。你应该在那里用=
作为字符串。
或者,您是否可以更加容忍脚本的输出?
if $SERVICE status | grep -q "not running"; then
$SERVICE start
fi
当然,使用monit或supervisor等流程监控工具会更好。