检测程序是否退出的bat脚本

网上荡了一个脚本,修改了一把

@echo off   
set _processCmd=C:UserszhengchuangjianDesktop流媒体serverDispatcher.exe 
set _processTimeout=10  
set Program="Dispatcher.exe"   
:LOOP 
tasklist -v | findstr %Program% > NUL  
if ErrorLevel 1 (  
      echo "进程不存在"    
      start %_processCmd%
) 
else (  
      echo "进程存在"  
    )  
choice /D y /t %_processTimeout% > nul    
goto LOOP 

这个脚本有局限性!

局限性:只针对闪退,在进程列表里面没有这个进程存在的情况

不能检测:如果奔溃,弹出一个对话框,等待选择,这种情况虽然奔溃,可是进程列表里面还存在进程,所以检测不到,不过可以有个思路,就是进程列表里面虽然还存在进程,可是它没有动作了,可以根据程序存活的特征来检测(如:心跳,网口绑定,CPU占用率)

先研究一把,写一个准确预测的脚本,把残留奔溃进程清除,重新启动

原文地址:https://www.cnblogs.com/baldermurphy/p/7298389.html