window下进程退出后自动重启

设计思想:编写批处理脚本监控进程的运行状态,如果发现进程停止,则自动重启该进程。批处理脚本(jk.bat)和进程脚本(hello.bat)如下:

1、jk.bat

@echo off 
rem 定义需监控程序的进程名和程序路径,可根据需要进行修改
set AppName=myHello.jar
set AppPath=C:\Users\dongbr\Desktop\test\
title 进程监控
cls
echo.
echo 进程监控开始……
echo.
rem 定义循环体
:startjc
   rem 从进程列表中查找指定进程
   rem  下面语句也可写成 qprocess %AppName% >nul (经验发布后补充)
   rem qprocess|findstr /i %AppName% >nul
   jps -l |findstr /i %AppName% >nul
   rem 变量errorlevel的值等于0表示查找到进程,否则没有查找到进程
   if %errorlevel%==0 (
         echo ^>%date:~0,10% %time:~0,8% 程序正在运行……
    )else (
           echo ^>%date:~0,10% %time:~0,8% 没有发现程序进程
           echo ^>%date:~0,10% %time:~0,8% 正在重新启动程序
           start hello.bat
   )
   rem 用ping命令来实现延时运行
   for /l %%i in (1,1,10) do ping -n 1 -w 1000 168.20.0.1>nul
   goto startjc
echo on

2、hello.bat

title hello进程

set AppName=myHello.jar
set AppPath=C:\Users\dongbr\Desktop\test\

 java -jar  %AppPath%%AppName% 2>nul && echo ^>%date:~0,10% %time:~0,8% 启动程序成功
rem 程序执行完毕执行exit命令退出运行窗口
exit

 

上一篇:bat 判断电脑有没有网分别执行不同的程序


下一篇:屏蔽/捕获并输出错误