这篇文章上次修改于 395 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

1、说明

NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下:

支持普通exe程序(控制台程序或者带界面的Windows程序都可以)
安装简单,修改方便
可以重定向输出(并且支持Rotation)
可以自动守护封装了的服务,程序挂掉了后可以自动重启
可以自定义环境变量
这里面的每一个功能都非常实用,使用NSSM来封装服务可以大大简化我们的开发流程了。

开发的时候是一个普通程序,降低了开发难度,调试起来非常方便
安装简单,并且可以随时修改服务属性,更新也更加方便
可以利用控制台输出直接实现一个简单的日志系统
不用考虑再加一个服务实现服务守护功能

2、下载地址

https://nssm.cc/download
https://nssm.cc/release/nssm-2.24.zip

3、使用说明

此处我们以将Kafka设置为Windows系统服务为例子进行展示,具体可参考我的文章https://blog.csdn.net/qubernet/article/details/104718033

    将Kafka设置为Windows系统服务
        打开NSSM的win64的文件夹,如D:\Net_业务软件\Net_NSSM\nssm-2.24\win64,然后按住Shift+鼠标右键点击文件夹空白处,选择“在此处打开Powershell窗口”

17677-n5tv9kgnf7n.png

        然后输入.\nssm install调出设置窗体
        在弹出的窗体中,Application选项卡中,
        Path:选择kafka-server-start.bat所在的路径,如D:\Net_Program\Net_Kafka\bin\windows\kafka-server-start.bat
        Startup directory:选择Path后,Startup directory选择会自动填充
        Argument:为启动服务的参数,此处填写D:\Net_Program\Net_Kafka\config\server.properties
        Service name:服务名称,如Kafka-Service
        设置完成后点击Install service按钮即完成,此时去查看系统服务有多了一个叫Kafka-Service的服务了

63013-cryh566o69.png

4、NSSM常用命令

安装服务:nssm install 服务名
删除服务:nssm remove 服务名
删除服务确定:nssm remove 服务名 confirm 
修改服务(显示界面修改):nssm edit 服务名
启动服务:nssm start 服务名
停止服务:nssm stop 服务名
重启服务:nssm restart 服务名

更多命令请参考官网说明:https://nssm.cc/commands


5、参考文档

使用NSSM将exe封装为服务:https://www.cnblogs.com/TianFang/p/7912648.html
Windows使用NSSM将任意exe封装为服务:https://gofinall.com/81.html
如将Kafka打包为Windows服务:https://www.cnblogs.com/xuerong/p/9699950.html

————————————————
版权声明:本文为CSDN博主「qubernet」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qubernet/article/details/104728178

1