标题: [其他] BAT批处理怎样自动重启崩溃的程序? [打印本页]
作者: ChuTszHin 时间: 2014-5-15 03:33 标题: BAT批处理怎样自动重启崩溃的程序?
我目前的情况如下:
我手上有一个程序,经常崩溃,不定时不定点,由于程序本身是没有问题的,所以在程序本身下手不实际,这个问题是因为某些连接进入程序的人操作不当造成。
但是崩溃无所谓,只需要它会在自己崩溃的时候自动重启即可,我希望用批处理可以达到这样一个效果。
另外一个就是我希望可以设定一个时间,让这个程序自动关闭,然后再开启,也就是说一个定时重启指定程序。
我希望上面两个功能都可以结合到一个BAT进行,不知道大神们有没有想法,求大神给代码。
程序名称:ABC.EXE
程序路径:D:\ABC SERVER\ABC.EXE
操作系统:Windows 7 64 BIT 旗舰版
作者: Batcher 时间: 2014-5-15 08:28
我希望可以设定一个时间,让这个程序自动关闭,然后再开启,也就是说一个定时重启指定程序。
对于这个功能,把 test.bat 放到任务计划里面定时执行就行了。- @echo off
- taskkill /f /im ABC.EXE
- start "" "D:\ABC SERVER\ABC.EXE"
复制代码
作者: Batcher 时间: 2014-5-15 08:29
只需要它会在自己崩溃的时候自动重启即可,我希望用批处理可以达到这样一个效果。
你需要描述清楚希望BAT根据什么条件来判断程序崩溃
作者: ChuTszHin 时间: 2014-5-20 17:06
对于这个功能,把 test.bat 放到任务计划里面定时执行就行了。
Batcher 发表于 2014-5-15 08:28
非常感谢您的关注和回复,很抱歉我上网时间并不多。
我大致了解了一下,您的回复,我的情况是这个程序需要定时重启来进行一个清理的动作。(约4-6小时左右重启一次。)
而程序崩溃的话,我观察下,在某些特定的情况,程序的进程依然存在,但是程序实际上已经崩溃。(概率大概是15%的样子。)
而一般而言,程序在正常情况下崩溃之后会自动结束掉进程。
所以程序崩溃的话,进程也会不见,再检查进程没有这样的程序之后,BAT自动开启程序运行。
作者: ChuTszHin 时间: 2014-5-20 17:23
你需要描述清楚希望BAT根据什么条件来判断程序崩溃
Batcher 发表于 2014-5-15 08:29
你好,我使用这样一段代码成功让程序如果崩溃,会自动再运行,但是我想再插入一段代码,可以让程序在指定时间内进行一次重启,而切代码不会跟我这里的代码有冲突。- @echo off
- tasklist|findstr /i "ABC"
- if errorlevel 1 goto start
- ping -n 15 127.1>nul
- %0
-
- :start
- start ABC
- %0
复制代码
我这里是15秒检测一次程序是否在进程,如果不在,即重新启动程序。
作者: Batcher 时间: 2014-5-20 18:52
可以让程序在指定时间内进行一次重启,而切代码不会跟我这里的代码有冲突。
把你的.bat放到任务计划里面执行
作者: wikou 时间: 2015-10-29 18:06
其实我也正在寻找这个方法呢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |