批处理脚本定时重启指定程序

之前遇到些windows服务程序运行不稳定导致业务请求异常,又没有时间及时修正的时候,如果业务量不大,且重启能缓解相关问题的话,可以写一个批处理的脚本用来自动重启相关程序,保证服务程序的可用性。

脚本下载:

https://download.csdn.net/download/usoa/88213696

@echo off

rem 获取命令行参数个数
set argC=0
for %%x in (%*) do Set /A argC+=1
rem echo %argC%

rem 参数小于3个则显示帮助
if %argC% lss 3  goto help

:loop
    for /f %%i in ('tasklist ^|find /i /c %1') do set rc=%%i
    rem debug echo %rc%

    rem 程序已运行则kill
    if %rc% leq 0 goto runcmd
    taskkill /f /t /im %1

:runcmd
    start "" /min "%2"

    rem 延时
    timeout /t %3

    goto loop


:help
    echo Help:
    echo    定时重启指定程序
    echo.
    echo    rerun.bat ^ ^ ^
    echo.
    echo    name:       进程名,根据此进程名杀死正在运行程序
    echo    cmd_path:   执行程序命令行
    echo    interval:   (单位:秒)重复执行时间间隔
    echo.
    echo Examlpe:
    echo    每5秒运行一次notepad.exe            
    echo    run.bat "notepad.exe" "notepad.exe" 5
:end

你可能感兴趣的:(运维,windows,CMD,定时)