首页 新闻 会员 周边

windows系统,脚本监控tomcat服务运行状态,服务关闭后进行重启

0
悬赏园豆:60 [已解决问题] 解决于 2018-09-07 16:37

工作中遇到 windows下apache 运行几天后总是会没响应或者是假死状态的问题,

想寻求两个脚本:

1.第一个脚本想:配置到windows计划任务,每天关闭tomacat后,再进行重启;

2.第二个脚本也是放到windows计划任务里定时执行,用于检测tomacat的状态,如果是服务未启动,自动启动,没间隔多少时间循环检测;

  个人想法:tomacat有两种启动方式,一种是windows服务启动,另外一种是通过运行bin目录下的startup.bat窗口启动。

怎样才能保证只有一个tomacat运行?

如果以运行startup.bat启动以后,脚本却检测的是windows服务,这样是否会存在冲突?

是否可以同时检测服务和窗口下的tomcat下的状态先全部关闭,只使用一种方式启动?

 

< >
分享
最佳答案
0

问题已经解决,谢了一个脚本,配合系统自带的任务计划管理能实现要求,而且很稳定,下边是我的脚本
@echo off
rem 定义窗口自动关闭时间和监测的服务名称:
set secs=5
set srvname="Tomcat7"
echo.
echo ========================================
echo == 查询计算机服务的状态, ==
echo == 如发现其停止,则立即启动。 ==
echo ========================================
echo.
echo 此脚本监测的服务是:%srvname%
echo.
if %srvname%. == . goto end
:chkit
set svrst=0
for /F "tokens=1* delims= " %%a in ('net start') do if /I "%%a %%b" == %srvname% set svrst=1
if %svrst% == 0 net start %srvname%
set svrst=
rem 下面的命令用于延时,否则可能会导致cpu单个核心满载。
:end
rem 下面的命令用于延时自动关闭窗口
ping -n %secs% 127.0.0.1 > nul
exit

这是设置的触发器

这样就能保证tomacat在关闭的情况下不需要人为启动

花开半夏雨 | 初学一级 |园豆:6 | 2018-09-07 16:35

同时监测几个服务,应该怎么修改?

S_ure | 园豆:200 (初学一级) | 2019-11-15 10:11
其他回答(1)
0

tomcat运行几天就挂本身说明环境不正常,你要想办法先让环境正常。

你这2个脚本即使实现了解决不了根本问题。

收获园豆:60
ycyzharry | 园豆:25651 (高人七级) | 2018-07-20 10:17

实际运用基本不存在挂的情况,tomcat是部署在客户的服务器,如果遇上停电自动重启,偶尔tomcat没启动,那么就需要这样的一个检测机制,假死状态还是很少的。主要是想实现检测tomacat的状态,如果是服务未启动,自动启动。想想,早上五六点给你打电话,很烦的。

支持(0) 反对(0) 花开半夏雨 | 园豆:6 (初学一级) | 2018-07-20 11:15

@ycyzharry: 不得不说,方法不错,但是相对麻烦些了,还涉及crontab,没有简单点的吗?

支持(0) 反对(0) 花开半夏雨 | 园豆:6 (初学一级) | 2018-07-25 14:25

@ycyzharry: 我这边操作的是windows系统,这是其他作者的一篇文章,尝试以后发现有漏洞,只能监控服务下的tomacat是否启动,不能监控窗口启动的tomcat(https://blog.csdn.net/binnygoal/article/details/56289578)

支持(0) 反对(0) 花开半夏雨 | 园豆:6 (初学一级) | 2018-07-25 14:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册