net start 与 net stop
这是传统的服务启停命令:不带参数时 net start 列出所有正在运行的服务,带服务名则启动或停止指定服务。服务名或显示名含空格时必须加引号。相比图形界面,它在脚本与远程会话里更方便。
基本信息
| 适用平台 | Windows CMD(cmd.exe) |
|---|---|
| 语法 | net start 列出运行中的服务;net start 名称 启动;net stop 名称 停止 |
| 名称形式 | 既可用服务短名,也可用显示名,含空格需加引号 |
| 行为特点 | net stop 会同步等待停止完成再返回 |
| 结果判断 | 成功与失败会体现在错误级别,脚本里可用错误级别判断 |
| 权限要求 | 需要管理员权限 |
典型使用场景
- 手工启停单个服务做快速验证,比打开服务管理器更快
- 查看当前运行中服务的概览列表
- 批处理脚本里启停服务并按错误级别判断结果
- 维护窗口按依赖顺序停止业务服务
- 服务未启动时先用列表确认它到底在不在运行
常用示例
常用示例
REM 列出当前运行中的服务
net start
REM 按服务短名停止与启动
net stop Spooler
net start Spooler
REM 用显示名,含空格需要引号
net start "Print Spooler"
REM 脚本里判断执行结果
echo %ERRORLEVEL%
REM 查看依赖该服务的其他服务,评估影响范围
sc enumdepend Spooler常见返回与含义
| 返回信息 | 含义 | 处理 |
|---|---|---|
| 服务启动成功 | 命令执行完成 | 正常 |
| 服务名无效 | 名称拼错或用错形式 | 用短名核对,或先列出服务 |
| 发生系统错误 5 | 权限不足 | 以管理员身份运行 |
| 服务无法启动 | 服务自身报错 | 查系统日志中的服务控制管理器事件 |
| 无法停止依赖服务 | 还有其他服务依赖它 | 先停止依赖方,或按依赖顺序处理 |
net stop 会等待停止完成再返回,脚本里更容易判断结果;sc stop 只是提交请求并立即返回,需要轮询状态查询才能确认最终是否停止。
中文系统上 net start 列出的往往是本地化显示名,脚本按字符串匹配容易失败,需要稳定匹配时改用服务内部名或对象化的服务命令。