win7下使用bat脚本监听程序运行,自制程序看门狗

  以前一直都是在linux做开发,各种自启动或者看门狗脚本做起来都非常方便,这次有一个项目需要在win7运行一个jar包和一个c程序,c程序之前研究过怎么做成windows的服务,可以做到开机自启动,并且如果程序崩溃的话系统会自动重启,但是jar包要如何做成windows服务还真没研究过,时间比较紧也来不及去研究了。所以就想着只要能做到开机自启动,并且做个脚本去监听就可以了。

windows的开机自启动比较简单,把你的程序放到C:\Users\xxx\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目录下就可以了,其中xxx是你的用户名。 但是这种方法如果程序有读取配置文件什么的可能会找不到路径。所以推荐使用bat文件来启动程序。

jar包的启动+看门狗脚本如下,ping命令用来做延时,相当于sleep 5秒,ERRORLEVEL -1073741205条件是用于关机的时候的,免得脚本一直死循环关不了机(这个语句看情况添加,我两台win7,win7 32位平板会出现这种情况,win7 64位虚拟机不会),另外由于监听的是java.exe程序,因此这个脚本只能用于只跑一个jar包的环境,如果有多个jar包的话就不奏效了。

@echo off
:p
ping 127.0.0.1 -n 5 >nul
tasklist /nh|find /i "java.exe"
echo %ERRORLEVEL%
IF ERRORLEVEL 1 goto aa
IF ERRORLEVEL 0 goto bb
IF ERRORLEVEL -1073741205 goto cc
:aa
echo restart...
cd C:\程序路径
start java -jar xxx.jar
goto p
:bb
echo continue...
goto p
:cc
echo byebye...

c程序的启动+看门狗脚本也差不多,如下

@echo off
: p
ping 127.0.0.1 -n 5 >nul
tasklist /nh|find /i "xxx.exe"
echo %ERRORLEVEL%
IF ERRORLEVEL 1 goto aa
IF ERRORLEVEL 0 goto bb
IF ERRORLEVEL -1073741205 goto cc
:bb
echo continue...
goto p
:aa
echo restart...
cd C:\程序路径
start xxx.exe
goto p
:cc
echo byebye...

这里我把程序都放在了C盘,如果是放在别的盘的话需要先切换盘符

D:
cd D:\程序路径
start xxx.exe

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值