监控windows服务,当服务停止后自动重启服务

Posted ZuQing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监控windows服务,当服务停止后自动重启服务相关的知识,希望对你有一定的参考价值。

@echo off
rem 定义循环间隔时间和监测的服务:
set secs=60
set srvname="ServerName"

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=
rem 下面的命令用于延时,否则可能会导致cpu单个核心满载。
ping -n %secs% 127.0.0.1 > nul
goto chkit

:end

双击该批处理文件,运行界面如下

========================================
== 查询计算机服务的状态, ==
== 每间隔%secs%秒种进行一次查询, ==
== 如发现其停止,则立即启动。 ==
========================================

此脚本监测的服务是:%srvname%


如果%srvname%停止后,该批处理检测到后会重启该服务,界面如下
========================================
== 查询计算机服务的状态, ==
== 每间隔%secs%秒种进行一次查询, ==
== 如发现其停止,则立即启动。 ==
========================================

此脚本监测的服务是:%srvname%

%srvname% 服务正在启动
%srvname% 服务已经启动成功。

 

新建一个AutostartService.bat,将上面文字粘贴进去,"ServerName"改成需要监控的服务即可

以上是关于监控windows服务,当服务停止后自动重启服务的主要内容,如果未能解决你的问题,请参考以下文章

如何启动/停止/重启MySQL

windows下如何重启apache服务器

38-Zabbix故障自愈和主动监控模式以及JAVA程序监控

服务器管理-windows服务器如果让服务器自动定时重启

阿里云ECS操作演示

安卓service关闭后怎么自动重启