在 Windows 中,你可以使用 sc 命令手动创建一个服务。这通常用于将一个可执行文件(例如一个应用程序、脚本或批处理文件)注册为 Windows 服务,以便它可以在后台运行并通过服务管理器进行控制(启动、停止、暂停等)。

以下是使用 sc 命令创建 Windows 服务的步骤:

1. 打开命令提示符

以管理员身份打开命令提示符:

  1. 按下 Win + X,选择“命令提示符(管理员)”或者“Windows PowerShell(管理员)”。
  2. 或者按下 Win + R,输入 cmd,然后按 Ctrl + Shift + Enter 以管理员身份运行。
  3. 可以使用 sc /? 来查看详细下面是一些常见的命令

2. 使用 sc create 命令创建服务

你可以使用以下语法来创建服务:

sc create "YourServiceName" binPath= "C:\Path\To\YourExecutable.exe" start= auto
  • “YourServiceName”: 服务的名称,可以自定义,例如 "MyService"
  • binPath= “C:\Path\To\YourExecutable.exe”: 服务指向的可执行文件的路径。注意路径需要完整并且带有引号。
  • start= auto: 指定服务的启动类型。可以是以下几种类型:
    • auto: 随系统启动自动启动服务。
    • demand: 手动启动服务(默认类型)。
    • disabled: 禁用服务。
    • delayed-auto: 系统启动后延迟启动。

注意

sc 命令中,等号 = 后面需要有一个空格。

3. 示例

例如,假设你有一个名为 MyApp.exe 的应用程序,位于 C:\MyApp\MyApp.exe,并希望将其创建为名为 MyService 的服务,并且服务设置为自动启动:

sc create "MyService" binPath= "C:\MyApp\MyApp.exe" start= auto

4. 查看服务

创建服务后,你可以使用 services.msc 打开服务管理器来查看和管理这个服务。

5. 启动服务

你可以使用以下命令启动服务:

sc start "MyService"

6. 删除服务

如果你需要删除服务,可以使用以下命令:

sc delete "MyService"

7. 停止服务

sc stop "ServiceName"

8. 设置开机启动

sc config "MyService" start= auto

9. 查询服务配置信息

要查询某个服务的配置信息,可以使用 sc qc 命令(qc 代表 “query configuration”):

sc qc "ServiceName"

10. 暂停服务

sc pause "ServiceName"

11. 继续服务

sc continue "ServiceName"

10. 其他常用选项

  • displayname= “Your Display Name”: 设置服务的显示名称,它在服务管理器中显示。
  • depend= “Service1/Service2”: 设置服务依赖项,指定服务启动时需要先启动的服务。
  • obj= “LocalSystem”: 指定服务运行的账户,LocalSystem 是默认账户。
  • type= own: 指定服务的类型,own 表示独立服务。

示例:带有更多选项的命令

sc create "MyService" binPath= "C:\MyApp\MyApp.exe" displayname= "My Application Service" start= auto obj= "LocalSystem" type= own

以上命令创建了一个名为 MyService 的服务,指向 C:\MyApp\MyApp.exe,并设置为自动启动,并且显示名称为 My Application Service

通过这些步骤,你可以使用 sc 命令在 Windows 中手动创建并管理服务。