linux上tomcat进程自动退出问题解决方案

2384
1

yangqh 数据老手Lv5

发表于2020-2-21 18:54

楼主
问题情况:虚拟机+linux+tomcat,有时候tomcat进程会莫名其妙自己退出,百思不得其解,百度上似乎也有不少小伙伴遇到过这种问题,但原因未知。解决方案:
监控tomcat进程是否存在,不存在则重启。脚本如下:
  1. echo ========================================
  2. date
  3. cd /wszb/irpt_new/apache-tomcat-6.0.45/bin/script
  4. rm -f index.jsp
  5. wget -T 10 -t 3 -q http://175.19.186.26:8080/irpt/i/oem/wsb/index.jsp
  6. if [ ! -e index.jsp ]; then
  7. echo "restart tomcat."
  8. export JAVA_HOME=/wszb/irpt_new/jdk1.6.0_45
  9. /wszb/irpt_new/apache-tomcat-6.0.45/bin/shutdown.sh
  10. sleep 10
  11. kill -9 `ps aux|grep "/wszb/irpt_new/apache-tomcat-6.0.45"|grep -v grep|awk
  12. '{print $2}'`
  13. sleep 5
  14. /wszb/irpt_new/apache-tomcat-6.0.45/bin/startup.sh
  15. else
  16. echo "checked."
  17. fi
复制代码
1、将代码复制到monitor.sh的文档中,并放入usr/local/share/tomcat7/bin中(路径是自己选的,若修 改路径,将代码中相关内容替换为新路径就行了)。
2、sudo chmod a+x monitor.sh加权限。
3、sudo crontab -e,在文档末尾添加*/2 * * * * /usr/local/share/tomcat7/bin/monitor.sh,意思是 全天范围内每2分钟运行一次这个脚本。
其中,我明明在.bashrc文件中设置过了JAVA_HOME环境变量,可是运行时还是报错,提示Neither the JAVA_HOME nor the JRE_HOME environment variable is defined,所以不得已在代码中加入了export JAVA_HOME=/usr/local/java/jdk1.6.0_37又定义了一遍。


测试环节:人工关闭tomcat后,2分钟后ps -ef |grep tomcat,又自动启动了,成功。 总结一下,这篇代码的方法不是直接监控tomcat端口,而是通过wget传输文件来测试,我们都知道wget是 可以走http协议的,正好可以经过tomcat来测试服务是否有效,很巧妙的应用!同理也可做其他服务的监 控。

最近看过此主题的会员

xiaojun

liuxiaolong

Warrick

缱绻

养蚯蚓吃沙漠

郑文华

1个回答

只看楼主

程序小哥哥 数据达人Lv4

发表于2020-2-21 19:28

只看该作者

取消 关注该作者的回复

沙发

学习了,很棒哟!

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号