需求:监控进程 myprog.exe 是否正常运行,若未启动,启动 myprog.exe; 每隔10秒检测一次
windows bat脚本代码如下:
set cxmc=myprog.exe
:START_CHECK
tasklist | findstr "%cxmc%" || goto STARTPRO
@echo process is running
ping -n 10 127.0.0.1 > nul
goto START_CHECK
:STARTPRO
@echo start process...
myprog.exe
ping -n 10 127.0.0.1 > nul
goto START_CHECK
代码解释:
(1) tasklist获取进程列表,findstr查找指定名称的进程,若找不到执行goto STARTPRO启动进程; 若找到 goto START_CHECK 回到检测入口位置。
(2)ping命令相当于sleep功能,-n 10 表示延迟10秒。
(3)执行myprog.exe 启动进程,启动成功后,回到检测入口,继续检测。