风影子
作者风影子2013-07-22 16:45
数据库管理员, 深圳

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

字数 1469阅读 20058评论 1赞 1
      近期花时间研究了一下windows和linux下某服务停了后自动重启的功能,在网上收集了些资料,并经过测试,在此整理一下。这里介绍的是windows服务的监控,是通过批处理来实现的。本例是监控windows的Computer Browser为例,每60秒检测一次(可根据实际需要调整间隔),当发现服务停止后自动重启。AutostartService.bat批处理文件内容如下

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

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

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

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

此脚本监测的服务是:"Computer Browser"


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

此脚本监测的服务是:"Computer Browser"

Computer Browser 服务正在启动 .
Computer Browser 服务已经启动成功。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论1 条评论

#manganese_zh系统工程师, 内蒙古包头
2014-03-24 20:21
好,多谢楼主,正好要找这个东东!
Ctrl+Enter 发表

关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
© 2020  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30