注册服务
- 使用installutil.exe
installutil <yourproject>.exe
卸载installutil /u <yourproject>.exe
- 使用powershell
1
2
3
4
5
|
New-Service -Name "YourServiceName" -BinaryPathName <yourproject>.exe
##卸载-----官方文档里是这样写的,但是我试着不管用,
Remove-Service -Name "YourServiceName"
##还是这样卸载吧
sc.exe delete "YourServiceName"
|
- 使用sc
1
2
3
|
sc create 服务名 binPath= "路径" start= auto type= share
##例子
sc create Frpc binPath= "C:/frpc/windows/start.bat" start= auto type= share
|
但是有些程序在启动服务时会报错
Windows无法启动 XXX 服务(位于 本地计算机上)。错误1053:服务没有及时响应启动或者控制请求
因为不是所有的exe都可以作为服务,需要使用服务封装器,比如srvany,nssm
解决办法:微软有一个srvany.exe可以解决此问题,不过nssm是更好的选择,这里推荐nssm
安装nssm
官网一直访问不进去,目前找到的一个可用的下载链接
之后就添加进path里去。
命令列表
1
2
3
4
5
6
|
nssm install <servicename>
nssm remove <servicename>
nssm start <servicename>(可能需要管理员权限)
nssm stop <servicename>
nssm restart <servicename>
nssm edit <servicename>
|