Windows注册服务的几种方式

方式一:使用Windows自带的sc命令

1、使用管理员权限打开cmd窗口
2、注册服务命令:
sc create 服务名 binpath= 程序所在路径 type= own start= auto displayname= 服务显示名称

sc create redis binpath= d:\tools\redis--x64-5.0.14\redis-server.exe type= own start= auto displayname= redis

3、服务启动和关闭

启动服务:net start redis 或 sc start redis
停止服务:net stop redis 或 sc stop redis
删除服务:sc delete redis
查询服务详细:sc query redis

如果在services.msc启动服务报错:错误1053:服务没有及时响应启动或控制请求
则说明通过sc注册服务存在问题,可删除服务,通过其它方式注册;

说明:如果要注册的exe不符合服务的规范,此方式启动有可能会失败。

方式二:使用WinSW注册(推荐)

WinSW下载地址:
https://github.com/winsw/winsw/releases

注意:32位和64位不同系统需选择其对应的exe文件。

1、将WinSW.exe拷贝至目标文件夹;
2、配置myapp.xml文件,指定执行命令等参数;

myapp.xml配置示例如下:

<service>
  <id>jenkins</id>
  <name>Jenkins</name>
  <description>This service runs Jenkins continuous integration system.</description>
  <env name="JENKINS_HOME" value="%BASE%"/>
  <executable>java</executable>
  <arguments>-Xrs -Xmx256m -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>
  <log mode="roll"></log>
</service>

说明:
(1)%BASE% 变量默认指向winsw.exe所在目录;
(2)winsw和myapp.xml名称可按照实际服务命名。

具体使用详见官方文档:https://github.com/winsw/winsw

3、服务注册/启动/关闭相关命令:

注册服务:winsw install myapp.xml
启动服务:winsw start myapp.xml
查看服务状态:winsw status myapp.xml

方式三:使用instsrv+srvany注册(不推荐)

由于此方式需手动修改注册表内容,故在此不做推荐。

1、将下载的instsrv.exe和srvany.exe拷贝至C:\Windows\SysWOW64目录下;
2、使用管理员权限打开cmd窗口,运行instsrv命令创建服务;

(1)cd C:\Windows\SysWOW64
(2)instsrv myService C:\Windows\SysWOW64\srvany.exe

myService为自定义服务名,可根据应用程序名称修改;
3、注册表应用参数配置;

(1)cmd输入regedit打开注册表,ctrl + f,搜索myService;
(2)右击myService新建项,名称为Parameters;之后在Parameters中新建几个字符串值:
名称Application 值:服务运行程序exe全路径
名称AppDirectory 值:服务运行程序所在文件夹路径;
名称AppParameters 值:服务启动所需的参数;

示例配置:

创建服务及启动命令:

创建服务:instsrv smaple-ws C:\Windows\SysWOW64\srvany.exe
启动服务:net start smaple-ws
关闭服务:net stop smaple-ws

方式四:NSSM服务封装

NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。

下载地址:http://www.nssm.cc/download

运行 nssm install 启动nssm

输入后,点Install Service

NSSM技巧
1. nssm install servername //创建servername服务
2. nssm start servername //启动服务
3. nssm stop servername //暂停服务
4. nssm restart servername //重新启动服务
5. nssm remove servername //删除创建的servername服务
————————————————

添加 frpc 到 windows 服务

nssm install frpc "C:/frpc/frpc.exe"
nssm set frpc AppParameters "-c C:/frpc/frpc.ini"

启动服务

net start frpc

然后nssm start servername 启动这个服务,成功了的话,这时候关机,重启电脑这个服务也会自动启动的。

https://files.cnblogs.com/files/7qin/WinSW_jb51.rar?t=1702576938&download=true

https://files.cnblogs.com/files/7qin/nssm-2.24.zip?t=1702662089&download=true

posted @ 2023-12-15 02:32  笠航  阅读(3556)  评论(0编辑  收藏  举报