Answers:
为什么grep ps
在将pid写入$CATALINA_PID
文件后呢?
我有一个cron
'd 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
我想您也可以wget
用来检查雄猫的健康状况。如果您有一个带有用户负载等的诊断页面,则可以定期获取该页面并进行解析,以确定是否出了问题。
tasklist |find /I "Tomcat" || echo "Tomcat not running"
在bat文件中执行某些操作,但是根据进程名称的不同,可能需要查找Java,而不是Tomcat。
ps aewwx | grep CATALINA_PID
,您将在运行过程的输出中找到它,以及其他环境变量。在Debian 8中,该值为:CATALINA_PID = / var / run / tomcat8.pid
请尝试此操作,因为它需要root权限,所以请使用sudo
sudo service tomcat7 status
tomcat7: unrecognized service
您可以通过以下方式检查tomcat的状态:
ps -ef | grep tomcat
如果tomcat正在运行,这将返回tomcat路径
netstat -a | grep 8080
其中8080是tomcat端口
如果tomcat是本地安装的,请在浏览器窗口中键入以下URL:{localhost:8080}
这将显示Tomcat主页,并显示以下消息。
如果看到此消息,则说明您已经成功安装了Tomcat。恭喜你!
如果tomcat安装在单独的服务器上,则可以使用有效的主机名或安装了tomcat的Iess键入replace localhost。
以上适用于标准安装,其中tomcat使用默认端口8080
创建一个Shell脚本来检查tomcat是启动还是关闭,并为sh设置cron以使其每隔几分钟检查一次,如果down,则自动启动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
您是否正在尝试建立警报系统?对于简单的“心跳”,请对Tomcat端口执行HTTP请求。
为了进行更详细的监视,您可以设置JMX和/或SNMP来查看JVM统计信息。我们使用SNMP插件(桥接到JMX)运行Nagios,以每10-15分钟检查Tomcat内存使用情况并请求线程池大小。
http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html
更新(2012):
我们已经升级了系统,以使用“监视”检查tomcat的过程。我很喜欢。通过很少的配置,它会自动验证服务是否正在运行,如果没有运行,则会自动重新启动。(发送电子邮件警报)。它可以与/etc/init.d脚本集成或按进程名称检查。
由于我的tomcat实例被命名为tomcat_。例如。tomcat_8086,我用
#
ps aux | grep tomcat
其他方法是使用nc实用程序
nc -l 8086
(端口号)要么
ps aux | grep java
$ sudo netstat -lpn |grep :8080
检查端口号
$ ps -aef|grep tomcat
服务器下是否正在运行任何tomcat。
tsssinfotech-K53U infotech # ps -aef|grep tomcat
根9586 9567 0 11:35 pts / 6 00:00:00 grep --colour = auto tomcat
这是我的两分钱。
我的群集设置有多个运行在不同端口上的tomcat实例。我使用以下命令来检查在不同端口上运行的每个进程。
/sbin/fuser 8080/tcp
根据需要更换端口号。
并使用-k
以上命令杀死进程。
ps -ef
调用一个命令并grep
在其上调用另一个命令的方式或任何其他命令要快得多。BSD
操作系统上的等效命令为fstat