您的位置:首页 > 其它

定时检查服务批处理,发现服务停止立即启动服务

2018-09-19 16:16 302 查看
@echo off

echo "check %1." >> log.file

set srvname=%1
for /f "skip=3 tokens=4" %%i in ('sc query %srvname%') do set "zt=%%i" &goto :next
:next
if /i "%zt%"=="RUNNING" (
:服务运行正常,返回1.
echo 1
) else (
:服务运行异常,返回0
echo 0
sc start %srvname%
echo "%srvname% start." >> log.file
)

定时检查进程批处理。发现进程不存在立即启动进程。

@echo off

echo "check %1." >> log.file

set pidname=%1
set batname=%2
for /f %%i in ('tasklist /FI "IMAGENAME eq %pidname%"^| find /C "%pidname%"') do set "zt=%%i" &goto :next

:next
echo %zt%
if /i %zt% gtr 0 (
:进程运行正常,返回1.
echo 1
) else (
:进程运行异常,返回0。立刻启动进程
echo 0
call d:\nginx-1.4.7\%batname%
echo "%pidname% start." >> log.file
)

以上存为批处理文件。设置计划任务定时执行即可。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: