使用nssm注册系统服务的详细方法
对于Windows平台来说,很多软件或系统的后台服务是基于windows服务的方式运行的,它的优势是稳定可靠,有进程保护,但对于一些普通exe程序(控制台程序或带界面的windows程序)或bat文件是否也可以封装成windows服务进行运行呢?其实windows本身就有SC.exe,它为Windows系统自带工具,可对Windows系统服务进行创建,查询,启动,停止,删除等操作。但是SC.exe 只支持操作服务控制管理器(SCM)接口规范的系统服务,比如一般的网络服务进程如nginx 等无法作为服务直接启动了,因此本文介绍一个可以封装普通exe程序或bat文件的windows服务工具:NSSM。
NSSM是一个服务封装程序,它可以将普通exe程序或bat文件封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下:
1.支持普通exe程序(控制台程序或者带界面的Windows程序都可以)或bat文件
2.安装简单又方便
3.可以重定向输出(并且支持Rotation)
4.可以自动守护封装了的服务,程序挂掉了后可以自动重启
5.可以自定义环境变量
6.可以自定义启动参数
从以上可以得知,NSSM每个功能都很实用,可以大大简化开发流程,降低了开发难度,使用和调试起来也非常方便,特别不需要考虑开发一个服务实现服务守护功能,以确保稳定可靠。
NSSM的官网下载地址:http://nssm.cc/download,如下图:
NSSM的官网下载地址
NSSM常用命令,如下:
1.安装服务:nssm install 服务名称
2.删除服务:nssm remove 服务名称
3.删除服务确定:nssm remove 服务名称 confirm
4.修改服务(显示界面修改):nssm edit 服务名称
5.启动服务:nssm start 服务名称
6.停止服务:nssm stop 服务名名称
7.停止服务:nssm stop 服务名称
NSSM使用步骤,如下:
1.下载NSSM
2.根据windows平台,将32/64位nssm.exe文件解压至任意文件夹
3.cmd定位至nssm.exe所在目录,如你操作系统是32bit,请对应32位的nssm.exe文件,如你操作系统是64bit,请对应64位的nssm.exe
4.输入 nssm install {服务名称},即注册Windows服务的名称。
对应的nssm.exe
注册服务弹出如下NSSM界面,如下图:
注册服务
设置说明,如下:
1.Application Path: 选择系统安装的exe或bat。
2.Startup directory: 选择exe或bat项目的根目录。
3.Arguments: 输入启动参数。
上述步骤操作完成,即可点击Install service来注册服务。我们在系统的服务中即可找到刚刚注册的服务。
安装服务
安装成功
新安装的windows服务
在系统服务中找到刚刚注册的服务,右键属性 - 恢复即可设置此服务挂掉重启等内容。
需要注意一点,安装完服务后,需要启动服务,否则没有生效。