Windows 服务失败自启动

先上bat文件

@echo off
rem 定义循环间隔时间和监测的服务:
set secs=90
set srvname=%1
echo ==         %1说明调用第一条参数,也可以在这里直接写服务名称     ==

echo.
echo ========================================
echo ==         查询计算机服务的状态,     ==
echo ==     每间隔%secs%秒种进行一次查询,     ==
echo ==     如发现其停止,则立即启动。     ==
echo ========================================
echo.
echo 此脚本监测的服务是:%srvname%
echo.


if %srvname%. == . goto end


:chkit
set svrst=0
for /F "tokens=1* delims= " %%a in ('net start') do if /I "%%a %%b" == %srvname% set svrst=1
if %svrst% == 0 net start %srvname%
set svrst=1
rem 下面的命令用于延时,否则可能会导致cpu单个核心满载。
ping -n %secs% 127.0.0.1 > nul
goto chkit


:end

 另存为 CheckService.bat,配合Windows任务管理器自动运行

 

 

 

posted @ 2023-05-09 22:24  airoot  阅读(132)  评论(0)    收藏  举报