zoukankan      html  css  js  c++  java
  • 让windows下服务断开后自动重启(两种方法)

    工作中用APMserv做了个小的web网站,当访问量多的时候,apache服务会经常死掉。在网上看了看,也有类似的情况,还有牛人自己写了程序来监控apache,叫apche保姆。关于那个软件我就不多说了,网上有下载的。这里我想说的是,完全没有必要那么麻烦,windows本身就有这个功能,闲话不多说了:

    运行里输入services.msc打开windows服务管理。任意打开一个服务的属性,在其中的恢复标签下就有“当N失败后”进行的什么操作,很是方便,具体用法不多说了,太简单了!

    当然,用一个简单的批处理脚本也完全可以实现,如下:

    @echo off

    setlocal EnableDelayedExpansion

    :start

    net start > a.txt   #查看正在运行的服务,并写入到a.txt文件里

    find /I "APMServ-Apache" a.txt >NUL  ##检查想要监控的服务有没有运行。

    if %ERRORLEVEL%==0 (echo httprunning) else (net start APMServ-Apache)##返回值“0”说明在a.txt文件里找到了相应的服务,也就是正在运行,否则启动服务。

    ping 127.1 -n 4 >NUL   ##利用ping命令每隔一秒执行一次来计时,4代表就是4秒后,也就是每4秒监控一下。

    goto start &exit   #转到start部分,重新开始执行。

    注意:如果系统服务里没有想要的服务,也可以利用“tasklist >a.txt”把进程列表写入文件,再find查找相应的进程名称,下面else后面接想要运行程序的完整路径,如“c:abcabc.exe”。

  • 相关阅读:
    c#4.0泛型接口和泛型委托的协变和逆变
    编码解析
    SQL入门(2)
    SQL入门(1)补充
    ADO两种连接方式
    SQL入门(3)
    ADO中SqlCommand的三种执行
    Huffman编码
    IE8单独样式错乱
    从 button列表中获得 commandrgument值
  • 原文地址:https://www.cnblogs.com/xuxyblog/p/service.html
Copyright © 2011-2022 走看看