标题: [系统相关] 进程守护批处理为何无法正确判断服务的状态? [打印本页]
作者: ccdns 时间: 2010-9-28 17:55 标题: 进程守护批处理为何无法正确判断服务的状态?
- :do
- for /f "tokens=*" %%i in ('net start ^|find /i "mysql"') do set srvApache=%%i
- if "%srvApache%"=="" (net start mysql) else (ping 127.1 -n 5 >nul)
- cls
- goto do
复制代码
目的是判断MYSQL这个服务是否启动了,如果没启动就启动起来,相当于一个守护。第一次运行是准确的,也就是如果开始MYSQL就没运行,那这个批处理第一次判断是准确地。但是我手动停掉MYSQL服务后,发现他还一直在判断出这个服务是在运行的,我怀疑这个tokens 是有缓存的,不知道我怀疑的是否准确。请大家帮忙一下。谢谢。。
作者: cjiabing 时间: 2010-9-28 21:23
不懂,不管有没有启用都直接“net start mysql”不行吗?反正没多大影响
作者: Batcher 时间: 2010-9-28 21:41
- @echo off
- :loop
- set srvApache=
- for /f "tokens=*" %%a in ('net start ^| find /i "mysql"') do (
- set "srvApache=%%a"
- )
- if "%srvApache%"=="" (
- net start mysql
- )
- ping 127.1 -n 5 >nul
- goto :loop
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |