[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 进程守护批处理为何无法正确判断服务的状态?

  1. :do
  2. for /f "tokens=*" %%i in ('net start ^|find /i "mysql"') do set srvApache=%%i   
  3. if "%srvApache%"=="" (net start mysql) else (ping 127.1 -n 5 >nul)
  4. cls
  5. goto do
复制代码
目的是判断MYSQL这个服务是否启动了,如果没启动就启动起来,相当于一个守护。第一次运行是准确的,也就是如果开始MYSQL就没运行,那这个批处理第一次判断是准确地。但是我手动停掉MYSQL服务后,发现他还一直在判断出这个服务是在运行的,我怀疑这个tokens 是有缓存的,不知道我怀疑的是否准确。请大家帮忙一下。谢谢。。

不懂,不管有没有启用都直接“net start mysql”不行吗?反正没多大影响

TOP

  1. @echo off
  2. :loop
  3. set srvApache=
  4. for /f "tokens=*" %%a in ('net start ^| find /i "mysql"') do (
  5.     set "srvApache=%%a"
  6. )
  7. if "%srvApache%"=="" (
  8.     net start mysql
  9. )
  10. ping 127.1 -n 5 >nul
  11. goto :loop
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表