最近有个项目需要检测某个软件崩溃重启的间隔和重启时间,百度了一下,按照自己的需求做了相应的修改
@echo off
rem 定义需监控程序的进程名和程序路径,可根据需要进行修改
set AppName=java.exe
set AppPath=D:\jre\bin\
title 进程监控
cls
echo.
echo 进程监控开始……
echo.
rem 定义循环体
:startjc
rem 从进程列表中查找指定进程
tasklist|findstr /i %AppName% >nul
echo %errorlevel%
rem 变量errorlevel的值等于0表示查找到进程,否则没有查找到进程
if %errorlevel%==0 (
echo ^>%date:~0,10% %time:~0,8% 程序正在运行……
)else (
echo ^>%date:~0,10% %time:~0,8% 没有发现程序进程
rem echo ^>%date:~0,10% %time:~0,8% 正在重新启动程序
rem start %AppPath%%AppName% 2>nul && echo ^>%date:~0,10% %time:~0,8% 启动程序成功
)
rem 实现延时运行
for /l %%i in (1,1,5) do ping -n 1 -w 1000 127.0.0.1>nul
goto startjc
echo on