NSSM介绍
NSSM(the Non-Sucking Service Manager)是Windows环境下一款免安装的服务管理软件,它可以将应用封装成服务,使之像windows服务可以设置自动启动等。并且可以监控程序运行状态,程序异常中断后自动启动,实现守护进程的功能。不仅支持图形界面操作,也完全支持命令行设置。特别命令行下的使用能很方便的让我们去做一键安装脚本。
同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下:
-
支持普通exe程序(控制台程序或者带界面的Windows程序都可以)
-
安装简单,修改方便
-
可以重定向输出(并且支持Rotation)
-
可以自动守护封装了的服务,程序挂掉了后可以自动重启
-
可以自定义环境变量
这里面的每一个功能都非常实用,使用NSSM来封装服务可以大大简化我们的开发流程了。
-
开发的时候是一个普通程序,降低了开发难度,调试起来非常方便
-
安装简单,并且可以随时修改服务属性,更新也更加方便
-
可以利用控制台输出直接实现一个简单的日志系统
-
不用考虑再加一个服务实现服务守护功能
NSSM下载
官网:NSSM - the Non-Sucking Service Manager
点击下载
我们可以看到src,说明是开源的,同时存在32位和64位的, 现在的操作系统一般都是64位的
拷贝到64位的应用程序到指定路径,这里注意下:可以不用设置环境变量,直接用该程序的相对路径去使用就行了,这样比较方便点
NSSM使用
NSSM - the Non-Sucking Service Manager
服务安装
nssm install <servicename> nssm install <servicename> <program> nssm install <servicename> <program> [<arguments>] nssm set <servicename> AppDirectory <path>
服务卸载
nssm remove nssm remove <servicename> nssm remove <servicename> confirm
服务启停
nssm start <servicename> nssm stop <servicename> nssm restart <servicename>
查询服务状态
nssm status <servicename>
服务控制
nssm pause <servicename> nssm continue <servicename> nssm rotate <servicename>