使用NSSM将exe程序封装成Windows服务方法

EXE程序如果需要改写成服务的话可以通过编码的方式实现也可以使用第三方提供的工具实现。
如何通过编码方式实现请参考文章:.netCore服务的实现与部署:https://blog.csdn.net/weixin_46681279/article/details/107883825
这里将介绍如何使用NSSM实现exe部署windows服务。
介绍
NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下:
支持普通exe程序(控制台程序或者带界面的Windows程序都可以)
安装简单,修改方便
可以重定向输出(并且支持Rotation)
可以自动守护封装了的服务,程序挂掉了后可以自动重启
可以自定义环境变量。
开源下面是关于nssm的官方说明如图:
使用NSSM将exe程序封装成Windows服务方法_第1张图片
更多内容请参考官方网站:https://nssm.cc/download

常用命令介绍
nssm提供界面和命令的操作,关于界面的操作各位可以自行百度,下面列举了常用的命令
安装服务
nssm install […]
示例:
nssm install celery-demo-worker “c:\Program Files\Python35\Scripts\celery.exe”
nssm set celery-demo-worker AppDirectory d:\celery-demo
nssm set celery-demo-worker AppParameters -A run worker --loglevel=debug -c 1
启动服务
nssm start
停止服务
nssm stop
重启服务
nssm restart
查看服务状态
nssm status
手动轮转日志文件
nssm rotate
删除服务
nssm remove [confirm]
加confirm后不会弹确认窗口
获取某项配置信息
nssm get [subparameter]
单独设置某项配置
nssm set [subparameter] value
重置某项配置
nssm reset [subparameter]
暂停/继续服务
nssm pause
nssm continue

nssm使用Demo
下面是我写的启动控制台程序的bat文件。
@echo off
set dlldir=%~dp0
cd /d %dlldir%
net stop lyDemo
sc delete lyDemo
nssm install lyDemo %dlldir%\lyDemo.exe
::启动服务这里注释了,应为不需要
::nssm start HuaXiaDataTransfer
ECHO 请手动启动服务
pause

你可能感兴趣的:(core,C#后端代码记录)