由于博主使用Golang开发的后端程序,部署在量产环境的Windows电脑上,容易被其他用户误关闭,所以想让exe程序以后台服务的形式运行,像Linux一样使用systemd守护进程,后来发现一款宝藏工具nssm可以实现博主的需求。
使用NSSM将.exe程序安装成Windows服务
NSSM是一个服务封装程序,它可以将普通exe程序或bat文件封装成服务,使之像windows服务一样运行。nssm简单易用,并且功能强大。它的特点如下:
1.支持普通exe程序(控制台程序或者带界面的Windows程序都可以)或bat文件
2.安装简单又方便
3.可以重定向输出(并且支持Rotation)
4.可以自动守护封装了的服务,程序挂掉了后可以自动重启
5.可以自定义环境变量
6.可以自定义启动参数
NSSM的官网下载地址:[NSSM官网下载链接],如下图:
NSSM 常用命令
1. 安装服务:nssm install 服务名称
也可以直接使用: nssm install,在界面中再填写服务名
2. 删除服务:nssm remove 服务名称
如:nssm remove myservice
3. 修改服务:nssm edit 服务名称
注意:只能修改配置,不能修改服务名
4. 启动服务:nssm start 服务名称
5. 停止服务:nssm stop 服务名称
NSSM 安装方式
将下载的压缩包解压
找到nssm.exe,将nssm.exe放到C:\Windows\system32目录下
以管理员身份打开cmd,在cmd中定位到nssm.exe所在路径,执行nssm install 服务名:
按下Enter键会自动弹出nssm的窗体:
在Application-Application Path中选择你的可执行文件.exe,确认后会自动填入Startup directory,Service name处可以修改服务名。
上方选项卡的Details中可以填入显示名称、描述、启动方式,一般默认是自动启动。
填写完成后点击右下角的Install service即可。
运行服务
服务安装完成后,首次运行还需要手动启动服务。打开任务管理器,找到刚才添加的服务后,右键“开始”即可启动服务~