Windows 将 exe 注册为 Windows 服务

sc

注册服务

sc create ceshi binpath= D:\ceshi\ceshi.exe type= own start= auto displayname= ceshi
  • binpath: 应用程序所在路径
  • displayname: 服务显示的名称

判断服务是否注册成功

services.msc 打开系统服务,查看ceshi名称的服务

启动服务

net start ceshi

停止服务

net stop ceshi

删除服务

net delete ceshi

instsrv + srvany

instsrv.exe.exe 和 srvany.exe 是 Microsoft Windows Resource Kits 工具集中 的两个实用工具,这两个工具配合使用可以将任何的 exe 应用程序作为 window 服务运行。

srany.exe 是注册程序的服务外壳,可以通过它让应用程序以 system 账号启动,可以使应用程序作为 windows 的服务随机器启动而自动启动,从而隐藏不必要的窗口

sc 命令

例:检查 mosquitto 服务的状态

@echo off
set service=mosquitto
sc query %service% | findstr /I /C:"RUNNING"
if not errorlevel 1 (
    echo %service% is running
) else (
    sc query %service% | findstr /I /C:"STOPPED"
    if not errorlevel 1 (
        echo %service% is stopped, trying to start it
        sc start %service%
    ) else (
        echo %service% is not found, trying to install it
        mosquitto.exe install
    )
)
pause

查找一个服务

sc query mosquitto

comment: