首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >停止批处理文件直到服务停止完成?

停止批处理文件直到服务停止完成?
EN

Stack Overflow用户
提问于 2010-05-20 14:54:27
回答 7查看 62.5K关注 0票数 40

我使用批处理文件来停止Windows服务。我正在使用sc命令,但考虑到下面的问题,我对其他想法持开放态度。问题是,批处理文件在服务停止时继续进行( stop参数到sc似乎只请求停止-它不会等待停止)。

如何修改批处理文件直到停止完成才能继续进行?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-05-20 15:00:24

您可以使用NET stop,这是同步的,即它将等待直到服务停止。

见- 净停止

票数 34
EN

Stack Overflow用户

发布于 2016-10-25 20:58:16

代码语言:javascript
复制
sc stop webdriveservice
:loop
sc query webdriveservice | find "STOPPED"
if errorlevel 1 (
  timeout 1
  goto loop
)

另一个具有重复计数限制的版本:

代码语言:javascript
复制
sc stop webdriveservice
set count=1
set limit=10
:loop
sc query webdriveservice | find "STOPPED"
if errorlevel 1 (
  timeout 1
  set /a count += 1
  if %count% lss %limit% goto loop
)
票数 33
EN

Stack Overflow用户

发布于 2013-08-07 18:36:49

如前所述,NET将向服务发送停止命令,但是,如果服务花费的时间超过一定时间(我观察到的时间为20秒左右),NET STOP将不会等待服务实际停止才返回。

要实际暂停批处理文件直到服务停止,您需要使用以下线程中概述的方法:

如何通过批处理文件检查服务是否正在运行,如果服务没有运行,如何启动它?

停止/启动远程Windows服务并等待其打开/关闭

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2874911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档