检测tomcat服务状态,并能自动重启的代码

Linux下自动检测Tomcat宕机,并自动重启 Linux下自动检测Tomcat是否宕机,并自动重启 公司服务器tomcat经常自动挂掉,具体原因无法找到。所以做了这次调整。让Linux自动检测tomcat是否宕机 1. 新建一个名字为XX.sh的文件,文件内容如下 #!/bin/sh # 获取tomcat进程ID /usr/local/tomcat_ds_api #TomcatID=$(ps -ef |grep tomcat |grep -... 阅读详情
原理很简单。 在机器上做一个测试的文件。如果我们的程序能够读取到这个文件,则证明运行正常
  1. import java.net.URL;
  2. import java.net.URLConnection;
  3. import java.util.Date;
  4. /**
  5.  * 
  6.  * @author 赵学庆,Java世纪网(java2000.net)
  7.  *
  8.  */
  9. public class Detector {
  10.   private static void keepTomcatAlive() throws NullPointerException {
  11.     String s;
  12.     String t = new String("tomcat5.exe");
  13.     boolean isTomcatAlive = false;
  14.     java.io.BufferedReader in;
  15.     try {
  16.       URL url = new URL("http://localhost/heartbeat.htm");
  17.       URLConnection con = url.openConnection();
  18.       in = new java.io.BufferedReader(new java.io.InputStreamReader(con.getInputStream()));
  19.       con.setConnectTimeout(1000);
  20.       con.setReadTimeout(4000);
  21.       while ((s = in.readLine()) != null) {
  22.         if (s.length() > 0) {
  23.           // 如果能够读取到页面则证明可用
  24.           return;
  25.         }
  26.       }
  27.       in.close();
  28.     } catch (Exception ex) {
  29.     }
  30.     try {
  31.       java.lang.Process p = java.lang.Runtime.getRuntime().exec("tasklist");
  32.       in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));
  33.       while ((s = in.readLine()) != null) {
  34.         if (s.startsWith(t)) {
  35.           isTomcatAlive = true;
  36.           break;
  37.         }
  38.       }
  39.       in.close();
  40.     } catch (Exception e) {
  41.       e.printStackTrace();
  42.     }
  43.     if (isTomcatAlive) {
  44.       System.out.println("<" + new Date() + "> Tomcat is alive but not response!");
  45.       stopTomcat();
  46.     }
  47.     startTomcat();
  48.   }
  49.   public static void stopTomcat() {
  50.     try {
  51.       java.lang.Process p = java.lang.Runtime.getRuntime().exec("net stop /"Apache Tomcat/"");
  52.       java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));
  53.       String s;
  54.       String t = "成功停止";
  55.       boolean restart = false;
  56.       while ((s = in.readLine()) != null) {
  57.         if (s.indexOf(t) != -1) {
  58.           restart = true;
  59.           break;
  60.         }
  61.       }
  62.       System.out.println("<" + new Date() + "> Tomcat is stop " + (restart ? "OK" : "ERROR"));
  63.     } catch (Exception e) {
  64.       e.printStackTrace();
  65.     }
  66.   }
  67.   public static void startTomcat() {
  68.     try {
  69.       java.lang.Process p = java.lang.Runtime.getRuntime().exec("net stop /"Apache Tomcat/"");
  70.     } catch (Exception e) {
  71.       e.printStackTrace();
  72.     }
  73.     try {
  74.       java.lang.Process p = java.lang.Runtime.getRuntime().exec("net start /"Apache Tomcat/"");
  75.       java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));
  76.       String s;
  77.       String t = "启动成功";
  78.       boolean restart = false;
  79.       while ((s = in.readLine()) != null) {
  80.         if (s.indexOf(t) != -1) {
  81.           restart = true;
  82.           break;
  83.         }
  84.       }
  85.       System.out.println("<" + new Date() + "> Tomcat is start " + (restart ? "OK" : "ERROR"));
  86.     } catch (Exception e) {
  87.       e.printStackTrace();
  88.     }
  89.   }
  90.   public static void main(String[] args) {
  91.     while (true) {
  92.       try {
  93.         Detector.keepTomcatAlive();
  94.         Thread.sleep(30000);
  95.       } catch (Exception ex) {
  96.       }
  97.     }
  98.   }
  99. }

守护进程监控tomcat并自动重启 昨天的tomcat问题,一天挂了3,4回,受不了了决定写个监控tomcat进程并zidongchongqi 阅读详情

相关推荐

tomcat创建bat启动,结合任务计划实现自动重启tomcat服务

本文介绍了创建Tomcat定时重启脚本的方法。通过编写批处理文件(.bat),设置Tomcat服务名称和日志路径,脚本能够自动检测服务状态并执行重启操作。内容包括:1)创建批处理文件,设置服务名和日志路径;2)获取当前时间并记录日志;3)查询服务状态,执行停止/启动操作;4)结合Windows任务计划实现定时重启。该脚本具有完善的日志记录功能,可记录操作状态和错误信息,便于故障排查。

JMHJAVA的专栏 1065

windows下tomcat无故宕机,检测http或https服务,并自动重启Tomcat服务

curl(全称Client URL):用于在命令行下运行的网络工具,用于与服务器进行通信。它支持多种协议,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet and TFTP。

mr__bai的博客 3178

tomcat 定时重启工具

由于工作需求,本人自己制作的 Tomcat 定时重启小工具,监听Tomcat的CMD运行窗口,计算运行时间,来完成 定时重启任务,配置可以自动临时保存,不生成多余文件。打算在后续版本中加入一个 HTTP监听任务,判断是否宕机。联系Q 58599886

检测tomcat服务状态,自动重启Tomcat

第一种方式:监控请求 原理很简单。 在机器上做一个测试的文件。如果我们的程序能够读取到这个文件,则证明运行正常,可简单实现Tomcat HA. import java.net.URL;import java.net.URLConnection;import java.util.Date; public class Detector {    private stat

suifeng0117的专栏 937

检测Tomcat运行状态-自动重启

检测Tomcat运行状态-自动重启

Android系统循环重启测试DEMO

Android开机后循环重启的测试例子,用于系统压力测试,可以点击停止测试按键结束测试

如何测试Tomcat是否启动成功_查看tomcat运行状态,资深软件测试开发带你入门Framework

(1)不要关闭刚刚启动的Tomcat,打开浏览器在地址栏输入“localhost:8080”回车,出现Apache Tomcat主页说明Tomcat已经成功启动。(2)不要关闭刚刚启动的Tomcat,打开浏览器在地址栏输入“127.0.0.1:8080”回车,出现Apache Tomcat主页说明Tomcat已经成功启动。对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!让你陷入忐忑,让实际上本不糟糕的事情,变得糟糕。

2401_84254530的博客 2311

java tomcat 监控程序

java实现 监听 服务程序 如果程序挂掉 则自动重启程序 并给开发人员发送短信 如有疑问可已咨询1076791016@qq.com 对于线上程序异常又短时寻找不到解决方案的治标之法

验证Tomcat进程是否启动成功 ps -ef | grep tomcat

ps命令是linux下非常强大的进程查看命名,通过ps -ef可以查看当前运行的所有进程的详细信息“|”在linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入 使用ps命令查看进程时,进程配合管道符合查找命令grep一起使用,来查看特定进程

Vinca@的博客 2907

如何测试Tomcat是否启动成功

今天教给大家Tomcat的两种打开方式和两种检测方法。 1、打开方式 (1)打开安装Tomcat的目录,在Tomcat文件夹下找到bin目录,双击startup.bat脚本文件启动Tomcat,如图所示: (2)同时按下“Win+R”键,然后在弹出的对话框中输入“cmd”并按回车键。在命令提示符界面中输入“startup.bat”并回车,同样可以打开Tomcat。如图: 2、检测方法 (1)不要关闭刚刚启动的Tomcat,打开浏览器在地址栏输入“localhost:8080”回车,出现Apache Tomcat主页说明Tomcat已经成功启动。如图: (2)不要关闭刚刚启动的Tomca

基于DFT的mbist sdc模板(DFT)

摘要:本文详细介绍了DFT测试模式下的SDC约束方法。

murphyrong的博客 920

2026自动化零部件降本实战:八大核心策略与选型优化指南

在制造业降本增效的长期命题下,设备成本控制早已从单纯压价进化为全生命周期管理。自动化设备由机械结构件、运动部件、电气器件及装配调试构成,其中伺服系统、减速机、传感器等零部件的选型与供应链策略,直接决定设备综合成本与稳定性。面对年降压力与材料成本上涨,企业需从TCO视角重新审视采购决策,通过直驱模组替代、气动压力分级、轴承滑块统型、传感器通用化及国产双源认证等路径,在保证可靠性的前提下压缩隐性支出。标准化模块设计和预测性维护的引入,则进一步降低装配工时与停机风险。本文梳理自动化零部件降本的八个高回报方向,结合

weixin_34327761的博客 417

Hypermesh2021实战:塑料圆盘结构化网格划分全流程(附避坑指南)

本文详细介绍了使用Hypermesh2021进行塑料圆盘结构化网格划分的全流程操作,包括几何预处理、网格生成策略及质量验证。特别针对工程实践中常见的12个典型问题提供解决方案,帮助用户提升CAE仿真分析的精度和效率。

weixin_29294597的博客 318
上一篇: 关于在公司里敢负责任的讨论
下一篇: 白话什么是多线程?
老紫竹
博客等级 码龄19年 1万+粉丝 1252原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值