使用NSSM注册Windows服务

我们在使用一些软件时,可能会使用bat脚本启动,比如frp软件,这样会出现一个CMD窗口,而当我们关闭窗口时,就把该服务也关闭了,所以要找到一种方法来实现守护进程,将这个bat文件当做windows服务来运行,而NSSM便可以实现。

NSSM介绍

NSSM全名the Non-Sucking Service Manager,是一款免安装的服务管理软件,它可以将普通exe程序封装成服务,使之像windows服务一样可以设置自动启动等,并且可以监控程序运行状态,程序异常中断后自动启动,实现守护进程的功能。比起微软自己的srvany工具,NSSM更加简单易用,并且功能强大。它的特点如下:

  1. 支持普通exe程序(控制台程序或者带界面的Windows程序都可以)
  2. 安装简单,修改方便,不仅支持图形界面操作,也完全支持命令行设置
  3. 可以重定向输出(并且支持Rotation)
  4. 可以自动守护封装了的服务,程序挂掉了后可以自动重启
  5. 可以自定义环境变量
  6. 特别适合一些不带随计算机启动功能的软件来封装成服务

NSSM官网

http://www.nssm.cc

下载地址:nssm 2.24

NSSM官网

使用方法

下载完解压至任意文件夹,软件分为32位和64位,根据自己电脑系统选择。

然后在当前文件夹打开cmd,输入 nssm install {服务名称} 命令,会弹出如下NSSM界面。

nssm install frpc  # 注册frpc服务为例
NSSM界面

设置说明:

  • Application Path: 要注册为服务的程序的路径。
  • Startup directory: 要注册为服务的程序所在的文件夹。
  • Arguments: 启动参数

在Path处选择启动frpc的start.bat,如下图:

NSSM注册frpc服务

点击Install service,会提示安装成功。

然后就可在系统服务中找到刚才注册的frpc服务,便可在此启动或停止该服务了。

系统服务界面

管理服务

可通过以下命令启动、停止和重启服务,以及查看服务状态:

nssm start <servicename>    # 启动服务
nssm stop <servicename>     # 停止服务
nssm restart <servicename>  # 重启服务
nssm status <servicename>   # 查看服务状态

当然,也可以使用系统自带的服务管理器操作和使用系统的命令。

修改参数

NSSM安装的服务修改起来非常方便,命令如下:

nssm edit <servicename>     # 显示界面修改

删除服务

nssm remove <servicename>
nssm remove <servicename> confirm  # 自动确认,没有界面

其它说明

NSSM软件可能会被杀毒软件拦截,建议添加到白名单。

默认只能在软件的所在目录使用上述命令,如果要在其它地方运行,需要将软件目录添加到环境变量里。

暂无评论

发送评论 编辑评论


				
上一篇
下一篇