工作中遇到 windows下apache 运行几天后总是会没响应或者是假死状态的问题,
想寻求两个脚本:
1.第一个脚本想:配置到windows计划任务,每天关闭tomacat后,再进行重启;
2.第二个脚本也是放到windows计划任务里定时执行,用于检测tomacat的状态,如果是服务未启动,自动启动,没间隔多少时间循环检测;
个人想法:tomacat有两种启动方式,一种是windows服务启动,另外一种是通过运行bin目录下的startup.bat窗口启动。
怎样才能保证只有一个tomacat运行?
如果以运行startup.bat启动以后,脚本却检测的是windows服务,这样是否会存在冲突?
是否可以同时检测服务和窗口下的tomcat下的状态先全部关闭,只使用一种方式启动?
问题已经解决,谢了一个脚本,配合系统自带的任务计划管理能实现要求,而且很稳定,下边是我的脚本
@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在关闭的情况下不需要人为启动
同时监测几个服务,应该怎么修改?
tomcat运行几天就挂本身说明环境不正常,你要想办法先让环境正常。
你这2个脚本即使实现了解决不了根本问题。
实际运用基本不存在挂的情况,tomcat是部署在客户的服务器,如果遇上停电自动重启,偶尔tomcat没启动,那么就需要这样的一个检测机制,假死状态还是很少的。主要是想实现检测tomacat的状态,如果是服务未启动,自动启动。想想,早上五六点给你打电话,很烦的。
@ycyzharry: 不得不说,方法不错,但是相对麻烦些了,还涉及crontab,没有简单点的吗?
@ycyzharry: 我这边操作的是windows系统,这是其他作者的一篇文章,尝试以后发现有漏洞,只能监控服务下的tomacat是否启动,不能监控窗口启动的tomcat(https://blog.csdn.net/binnygoal/article/details/56289578)