有兴趣了解人们通常如何检查Tomcat是否在Unix环境中运行.
我要么检查进程是否正在运行
ps -ef | grep java
ps -ef | grep logging
Run Code Online (Sandbox Code Playgroud)
或者我检查端口号是否有效
netstat -a | grep 8080
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来检查Tomcat是否正在运行?以上似乎是检查Tomcat运行的"hacky"方式.
Tha*_*ran 88
在我的linux系统上,我使用startup.sh脚本启动Tomcat.为了知道它是否正在运行,我使用
ps -ef | grep tomcat
Run Code Online (Sandbox Code Playgroud)
如果输出结果包含我的tomcat文件夹的完整路径,那么它正在运行
小智 64
试试这个,因为它需要root权限使用sudo
sudo service tomcat7 status
Run Code Online (Sandbox Code Playgroud)
dog*_*ane 55
为什么grep ps,当pid被写入$CATALINA_PID文件?
我有一个cron'checker脚本,当tomcat关闭时会发送一封电子邮件:
kill -0 `cat $CATALINA_PID` > /dev/null 2>&1
if [ $? -gt 0 ]
then
echo "Check tomcat" | mailx -s "Tomcat not running" support@dom.com
fi
Run Code Online (Sandbox Code Playgroud)
我想你也可以wget用来检查你的tomcat的健康状况.如果您有一个带有用户负载等的诊断页面,您可以定期获取它并解析它以确定是否有任何错误.
Mic*_*eyn 13
netstat -lnp | grep 8080如果你知道Tomcat的监听端口,那可能是最好的方法.如果您想确定功能是否正常,则必须建立连接并发送HTTP请求并获得响应.您可以以编程方式或使用任何Web浏览器执行此操作.
小智 7
如果在本地安装了tomcat,请在浏览器窗口中键入以下URL:{localhost:8080}
这将显示Tomcat主页,其中包含以下消息.
如果你看到这个,你已经成功安装了Tomcat.恭喜!
如果tomcat安装在单独的服务器上,则可以使用有效主机名或安装了tomcat的Iess键入replace localhost.
以上适用于tomcat使用默认端口8080的标准安装
您可以通过以下方式检查tomcat的状态:
ps -ef | grep tomcat
Run Code Online (Sandbox Code Playgroud)
如果tomcat正在运行,这将返回tomcat路径
netstat -a | grep 8080
Run Code Online (Sandbox Code Playgroud)
其中8080是tomcat端口
我经常做
tail -f logs/catalina.out
Run Code Online (Sandbox Code Playgroud)
当我看到那里时
INFO: Server startup in 77037 ms
Run Code Online (Sandbox Code Playgroud)
然后我知道服务器已启动。
wget url或者curl url
其中 url 是应该可用的 tomcat 服务器的 url,例如:
wget http://localhost:8080. 然后检查退出代码,如果它是 0 - tomcat 已启动。
创建一个 Shell 脚本来检查 tomcat 是启动还是关闭,并为 sh 设置一个 cron 让它每隔几分钟检查一次,如果关闭则自动启动 tomcat。下面的代码示例片段
TOMCAT_PID=$(ps -ef | awk '/[t]omcat/{print $2}')
echo TOMCAT PROCESSID $TOMCAT_PID
if [ -z "$TOMCAT_PID" ]
then
echo "TOMCAT NOT RUNNING"
sudo /opt/tomcat/bin/startup.sh
else
echo "TOMCAT RUNNING"
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
429167 次 |
| 最近记录: |