window批处理文件监控多个java程序

今天遇到一个需要在window server环境下对多个java程序监控若意外停止便重启的问题

TaskList

由于taskName都为java.exe 无法通过名称判断程序启动情况,这时候来波操作------在jdk的bin目录下复制3个java.exe文件,并改名为

FtpMonitor.exe、ms-rs-core.exe、ms-web.exe使用这3个exe分别启动jar包

贴上监控的jk.bat

tasklist |find /C "ms-rs-core" >core.txt
set /p corenum=< core.txt
del /F core.txt
echo %corenum%
if "%corenum%" == "0" (
       start /D"C:\Program Files\Java\jdk1.8.0_92\bin" ms-rs-core -jar D:\ms-rs-core\ms-rs-core-1.0.jar
)
tasklist |find /C "ms-web" >web.txt
set /p webnum=< web.txt
del /F web.txt
echo %webnum%
if "%webnum%" == "0" (
       start /D"C:\Program Files\Java\jdk1.8.0_92\bin" ms-web -jar D:\ms-web\ms-web-1.0.jar
)
tasklist |find /C "FtpMonitor" >ftpmonitor.txt
set /p ftpnum=< ftpmonitor.txt
del /F ftpmonitor.txt
echo %ftpnum%
if "%ftpnum%" == "0" (
       start /D"C:\Program Files\Java\jdk1.8.0_92\bin" ftpmonitor -jar D:\ftpmonitor\FtpMonitor.jar
)

或者,cd进目录下启动

tasklist |find /C "ms-rs-core" >core.txt
set /p corenum=< core.txt
del /F core.txt
echo %corenum%
if "%corenum%" == "0" (
    cmd /k "cd /d D:\ms-rs-core&&ms-rs-core -jar D:\ms-rs-core\ms-rs-core-1.0.jar"
)

 

 注:if 语句后面的()符,网上大佬没加但是我没加就执行不了,显示命令行语法不正确,加上OK。

最后把jk.bat放在window server下添加‘任务计划程序’做定时任务执行。--------over

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值