windows系统服务命令行管理方法
在 Windows 系统中,可以使用命令行工具来管理服务。
生成/创建服务
- 使用 sc 命令
# 创建服务的基本语法
sc create "服务名" binPath= "可执行文件路径" start= auto
# 示例:创建名为 MyService 的服务
sc create "MyService" binPath= "C:\Program Files\MyApp\myservice.exe" start= auto
# 更多选项的示例
sc create "MyService" binPath= "C:\MyApp\service.exe" start= auto DisplayName= "我的服务" depend= "TCPIP"
参数说明:
binPath= - 服务可执行文件的完整路径
start= - 启动类型(auto: 自动, demand: 手动, disabled: 禁用)
DisplayName= - 显示名称
depend= - 依赖的服务
注意: = 后面必须有一个空格!
- 使用 net 命令(仅适用于已注册的服务)
net start "服务名"
net stop "服务名"
删除服务
使用 sc 命令删除服务
# 先停止服务(如果正在运行)
sc stop "服务名"
# 删除服务
sc delete "服务名"
# 示例
sc stop "MyService"
sc delete "MyService"
列出所有服务
- 使用 sc 命令
# 列出所有服务
sc query
# 列出特定服务的详细信息
sc query "服务名"
# 列出所有运行中的服务
sc query state= all
# 列出所有停止的服务
sc query state= inactive
- 使用 net 命令
# 列出所有服务
net start
注意:net start 通常只列出已启动的服务。
启动/停止服务
# 启动服务
sc start "服务名"
net start "服务名"
# 停止服务
sc stop "服务名"
net stop "服务名"
# 重启服务
sc stop "服务名" && sc start "服务名"
修改服务配置
# 修改启动类型
sc config "服务名" start= disabled
# 修改可执行路径
sc config "服务名" binPath= "新路径"
# 修改显示名称
sc config "服务名" DisplayName= "新名称"
注意事项
- 需要管理员权限:创建、删除和修改服务都需要以管理员身份运行命令提示符。
- 路径格式:可执行文件路径中的空格需要用引号括起来。
- 服务依赖:删除服务前确保没有其他服务依赖它。
- 谨慎操作:错误的服务操作可能影响系统稳定性。
实用示例
# 创建 MySQL 服务
sc create "MySQL" binPath= "\"C:\Program Files\MySQL\bin\mysqld.exe\" --defaults-file=\"C:\Program Files\MySQL\my.ini\" MySQL" start= auto DisplayName= "MySQL Server"
# 查看服务状态
sc query "MySQL"
# 删除 MySQL 服务
sc stop "MySQL"
sc delete "MySQL"
这些命令在 Windows 7/8/10/11 和 Windows Server 系统中都适用。
只用命令行进行操作还是比较麻烦。