zoukankan      html  css  js  c++  java
  • NSSM 将程序封装成服务软件

    1. 软件官方下载地址:https://nssm.cc/download

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

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

    这里面的每一个功能都非常实用,使用NSSM来封装服务可以大大简化我们的开发流程了。

    • 开发的时候是一个普通程序,降低了开发难度,调试起来非常方便
    • 安装简单,并且可以随时修改服务属性,更新也更加方便
    • 可以利用控制台输出直接实现一个简单的日志系统
    • 不用考虑再加一个服务实现服务守护功能

    我觉得它还可以需要增加的一个功能是将输入输出重定向为一个tcp连接,这样可以通过telnet的方式实现程序的交互了,那样就更加好用了。

    下面就简单的介绍一下如何使用这个工具。

    服务安装:

    服务安装可以使用如下命令: nssm install <servicename>

    执行此命令后,会出现一个界面,基本上看着就知道怎么用了,大多数情况下,只需要填第一个界面的程序路径(最好用浏览选中对应程序)就可以了。

    这里可以设置: 环境变量(在 environment 选项卡)

                             依赖服务(在Dependencies 选项卡) 多服务依赖时 每个服务名占一行

    其它界面的是高级参数的配置,可以根据需要自行选择。

    参数填完后执行"install service"按钮即可将服务安装到系统,可以使用系统的服务管理工具查看了。

    当然,如果要自动化安装,可以直接带上程序路径: nssm install <servicename> <program> [<arguments>]

    NSSM本身win7及以上的系统基本都是支持的,我测试过win7,2008,2016系统,都是没有问题的,如果安装失败,请首先检查是否装了某国产管家或国产杀毒软件。

    安装完成后,服务还没有启动,需要通过下面的服务管理的命令启动服务。

    服务管理:

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

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

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

    修改参数:

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

    nssm edit <servicename>

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

    服务删除:

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

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

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

  • 相关阅读:
    131. Palindrome Partitioning
    130. Surrounded Regions
    129. Sum Root to Leaf Numbers
    128. Longest Consecutive Sequence
    125. Valid Palindrome
    124. Binary Tree Maximum Path Sum
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    120. Triangle
    119. Pascal's Triangle II
  • 原文地址:https://www.cnblogs.com/startlearn/p/10002658.html
Copyright © 2011-2022 走看看