菜鸟科技网

cmd 重启服务命令

核心命令:sc

sc 命令是专门用来与服务控制管理器进行交互的。

cmd 重启服务命令-图1
(图片来源网络,侵删)

基本语法

sc [servername] command [service name] [option1= value1] [option2= value2]
  • servername: (可选)远程计算机的名称,如果省略,则默认为本地计算机。
  • command: 要执行的操作,start, stop, query
  • service name: 服务的短名称wuauserv (Windows Update) 而不是 "Windows Update"。
  • option: 命令的特定参数。

重启服务的完整流程(推荐)

一个完整、安全的重启服务流程包括三个步骤:停止 -> 查询确认 -> 启动

停止服务

在重启前,最好先完全停止服务。

sc stop "服务名称"

示例:停止 Windows Update 服务

sc stop wuauserv

说明:

cmd 重启服务命令-图2
(图片来源网络,侵删)
  • 命令执行后,可能会提示 [SC] StopService SUCCESS,但这只是表示停止命令已成功发送给服务管理器,服务可能仍在关闭过程中。
  • 对于一些关键服务,系统可能会提示“依赖服务也无法运行”。

查询服务状态

在启动服务前,先确认它是否已完全停止。

sc query "服务名称"

示例:查询 Windows Update 服务状态

sc query wuauserv

输出解读: 你会看到类似下面的输出,关键是 STATE 部分。

SERVICE_NAME: wuauserv
        TYPE               : 110  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
  • STATE : 1 STOPPED: 表示服务已成功停止,此时可以安全地启动它。
  • 如果状态是 RUNNING (4),则表示服务仍在运行,需要等待或重新执行 stop 命令。

启动服务

确认服务已停止后,重新启动它。

cmd 重启服务命令-图3
(图片来源网络,侵删)
sc start "服务名称"

示例:启动 Windows Update 服务

sc start wuauserv

再次查询确认:

sc query wuauserv

这次你应该会看到 STATE : 4 RUNNING,表示服务已成功启动。


更简洁的“重启”命令(直接但风险稍高)

sc 命令本身也提供了一个 failure 操作来配置服务失败时的重启策略,但没有一个直接的 restart 子命令。

你可以通过组合 stopstart 命令,在一行中实现“重启”的效果,这通常用在脚本中。

sc stop "服务名称" & sc start "服务名称"

示例:在一行中重启 Windows Update 服务

sc stop wuauserv & sc start wuauserv

⚠️ 注意:

  • 这种方法没有中间的查询和等待步骤。stop 命令没有完全成功,start 命令可能也会失败。
  • 对于手动操作,强烈推荐使用三步法,对于脚本,如果确定服务可以快速停止,可以使用此方法。

重要补充:net stopnet start

你可能还会看到使用 net 命令的旧方法,它也能工作,但 sc 命令更现代、更强大,推荐优先使用 sc

net stop "服务显示名称"
net start "服务显示名称"

sc 的区别:

  • sc 使用服务的短名称 (如 wuauserv),而 net 使用服务的显示名称 (如 "Windows Update")。
  • sc 提供了更丰富的参数和查询信息。

示例:

net stop "Windows Update"
net start "Windows Update"

虽然也能用,但不如 sc stop wuauserv 方便和精确。


实用技巧与常见问题

如何找到服务的“短名称”?

如果你只知道服务的显示名称(如 "Print Spooler"),可以通过以下方法找到它的短名称:

使用 sc 命令

sc query state= all | findstr "SERVICE_NAME"

这个命令会列出所有服务的 SERVICE_NAME

使用 services.msc 图形界面

  1. Win + R,输入 services.msc 并回车。
  2. 在服务列表中找到你想要的服务。
  3. 右键点击 -> 属性。
  4. 在“常规”或“服务”选项卡中,“服务名称” 一项就是短名称(Spooler)。

常用命令速查表

功能 sc 命令 net 命令
停止服务 sc stop wuauserv net stop "Windows Update"
启动服务 sc start wuauserv net start "Windows Update"
查询状态 sc query wuauserv (无直接对应命令)
暂停服务 sc pause wuauserv (无直接对应命令)
恢复服务 sc resume wuauserv (无直接对应命令)

必须以管理员身份运行

无论使用 sc 还是 net都必须以管理员身份打开命令提示符,否则会提示“拒绝访问”。

  • 在开始菜单中搜索 cmd命令提示符
  • 右键点击它,选择 “以管理员身份运行”

常见错误代码

  • [SC] OpenService FAILED 5: 拒绝访问,请确保你以管理员身份运行了 CMD。
  • [SC] OpenService FAILED 1060: 找不到指定的服务,请检查服务名称(短名称)是否正确。
  • [SC] StartService FAILED 1053: 服务没有及时响应启动或控制请求,这通常意味着服务在启动时卡住了,可能需要检查系统日志或重启电脑。

对于在 cmd 中重启服务,最佳实践是:

  1. 以管理员身份打开命令提示符。
  2. 使用 sc 命令,因为它功能最全。
  3. 遵循 stop -> query -> start 的三步法,确保操作安全可靠。
  4. 记住使用服务的短名称(如 wuauserv),而不是显示名称。
分享:
扫描分享到社交APP
上一篇
下一篇