你说“我想检查tomcat服务器是否真的启动了”。如果您使用tail和grep检查日志,在最坏的情况下,您可以检测到以崩溃结束的旧启动。
Tomcat服务器启动时,它正在监听某个端口(例如,8080)。因此,您应该检查tomcat服务器是否正在侦听该端口。
如果您使用的是不同的端口,请用自定义端口替换下面一行中的8080。
为了显示tomcat状态,您应该使用netstat。netstat返回的行示例:
代码语言:javascript复制 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING为了仅在Tomcat启动或未启动时显示,可以使用:
代码语言:javascript复制netstat -an|grep -e ":8080[^0-9].*[0-9].*LISTENING" && echo "Tomcat started" || echo "Tomcat not started"grep表达式匹配":“后面是端口8080,后面是非数字,后面是任何字符,后面是数字,后面是任何字符,后面是”侦听“。
为了等待Tomcat,您可以使用:
代码语言:javascript复制echo Waiting for Tomcat port to be ...
until netstat -an | grep -e ":8080[^0-9].*[0-9].*LISTENING" > /dev/null ; do
sleep 1 ;
done
echo Tomcat started