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

Posted 风翼科技

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检测程序是否退出的bat脚本相关的知识,希望对你有一定的参考价值。

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

@echo off   
set _processCmd=C:\Users\zhengchuangjian\Desktop\流媒体\server\Dispatcher.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占用率)

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

以上是关于检测程序是否退出的bat脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何让bat脚本循环执行?

bat脚本命令循环运行程序 ,然后指定时间退出。

powershell 远程执行bat脚本,去启动一个应用,如何让应用一直运行,powershell能正常退出?

powershell脚本隐藏退出码

bat脚本中使用gradle或maven等外部命令后,脚本不继续执行,直接退出

bat脚本中使用gradle或maven等外部命令后,脚本不继续执行,直接退出