admin 管理员组

文章数量: 887006

目录

NSSM介绍

NSSM官网

NSSM使用

NSSM服务管理

1. 启动、停止和重启

2. 修改参数

3. 服务删除

4. 命令行


NSSM介绍

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

  1. 支持普通exe程序(控制台程序或者带界面的Windows程序都可以)
  2. 安装简单,修改方便
  3. 可以重定向输出(并且支持Rotation)
  4. 可以自动守护封装了的服务,程序挂掉了后可以自动重启
  5. 可以自定义环境变量

NSSM官网

http://nssm

 

NSSM使用

  1. 下载最新版本nssm,也可以下载最新release版本;

    ​​​​​​或者从 https://download.csdn/download/fly910905/13632044 下载 (nssm-2.24-103版本,为笔者文中使用的版本)

  2. 根据自己的平台,将32/64位nssm.exe文件解压至任意文件夹。
  3. cmd定位至nssm.exe所在目录。
  4. 输入 nssm install {服务名称},即注册服务的名称。注册服务弹出如下NSSM界面。  
  5. Application标签设置:
  • Application Path: 选择系统安装的exe(cmd也可以)。
  • Startup directory: 选择exe项目的根目录。
  • Arguments: 输入启动参数
  1. 上述步骤操作完成,即可点击Install service来注册服务。我们在系统的服务中即可找到刚刚注册的服务。
  2. 在系统服务中找到刚刚注册的服务,右键属性 - 恢复即可设置此服务挂掉重启等内容。

NSSM服务管理

1. 启动、停止和重启

服务管理主要有启动、停止和重启,其命令如下:

  • 启动服务:nssm start <servicename>
  • 停止服务: nssm stop <servicename>
  • 重启服务: nssm restart <servicename>

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

2. 修改参数

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

nssm edit <servicename>

会自动启动操作界面,直接更改即可。

3. 服务删除

服务删除可以使用如下命令之一:

  • nssm remove <servicename>
  • nssm remove <servicename> confirm

功能没有大的区别,后面的命令是自动确认的,没有交互界面。

4. 命令行

服务自动化需要使用更多的命令行,

具体参看官方文档: https://nssm/commands

如下是一个官方安装Jenkins服务的示例:

nssm install Jenkins %PROGRAMFILES%\Java\jre7\bin\java.exe
nssm set Jenkins AppParameters -jar slave.jar -jnlpUrl https://jenkins/computer/%COMPUTERNAME%/slave-agent.jnlp -secret redacted
nssm set Jenkins AppDirectory C:\Jenkins
nssm set Jenkins AppStdout C:\Jenkins\jenkins.log
nssm set Jenkins AppStderr C:\Jenkins\jenkins.log
nssm set Jenkins AppStopMethodSkip 6
nssm set Jenkins AppStopMethodConsole 1000
nssm set Jenkins AppThrottle 5000
nssm start Jenkins

NSSM服务异常

1. windows不能在本地计算机启动 参考特定服务错误代码 3

解决方案

这是因为在使用  nssm install {服务名称} 时,并没有使用以“以管理员身份运行” cmd窗口

将服务删除(nssm remove <servicename>

再使用cmd.exe 右键“以管理员身份运行” ,执行 nssm install {服务名称} 即可

其次,检查路径前面是否有空白字符

2. Unexpected status SERVICE_PAUSED in response to START control.

 

解决方案

同异常--1. windows不能在本地计算机启动 参考特定服务错误代码 3

参考链接:

http://www.nssm/

本文标签: 系统 exe NSSM Windows cmd