• 如何用零代码将应用封装成服务NSSM


    引言

    NSSM是什么?借用官方标题"NSSM - the Non-Sucking Service Manager",NSSM - 非吸吮服务经理。实际上NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。

    常用命令

    1、安装服务
    nssm install 服务名称 应用程序路径 参数
    

    Tips:如果nssm跟应用程序在同一目录只需应用名称带上后缀.exe,如果不在同一目录需完整路径,如:"C:\Program Files\app.exe")

    2、删除服务
    nssm remove 服务名称 
    

    Tips:此命令会弹出nssm窗体询问是否确认关闭,如下图

    image-20220326195753005

    3、删除服务并确定
    nssm remove 服务名称 confirm
    
    4、修改服务
    nssm edit 服务名称 
    

    Tips:此命令会弹出nssm窗体进行操作,如下图

    image-20220326210357215

    5、启动服务
    nssm start 服务名称
    
    6、停止服务
    nssm stop 服务名称
    
    7、重启服务
    nssm restart 服务名称
    

    小试牛刀

    1、在当前目录路径栏输入cmd回车

    2、输入命令:nssm install TestService

    3、在弹出的窗体中进行可视化配置

    image-20220326201732360

    实际运用

    在实际运用过程中,肯定不是让用户去执行这些命令,所以这里以bat批处理作为演示

    1、首先准备好nssm程序和即将要被封装成服务的应用程序,官网下载地址:http://www.nssm.cc/download

    2、编写批处理脚本

    image-20220326205542739

    简单讲解下上面脚本意思:

    第一行:批处理语法,大概意思就是关闭回显

    第二行:停止服务

    第三行:删除服务并确认

    第四行:将"webrtc-streamer.exe"这个应用程序封装成名为"TestService"的服务,并给应用程序传递了参数"-H 0.0.0.0:8005"

    第五行:启动服务

    有同学就要问了,直接安装服务再启动不就完了,两行解决。是的,确实可以,为了安装稳妥起见防止发生冲突,先停服务删除服务再安装再启动。

    3、运行批处理,打开Windows服务控制台,即可看到服务已经正常运行了。做成批处理之后还可被其它程序调用执行,或者在安装包里做一些操作,安装完执行该脚本。

    image-20220326210432856

    值得注意的是nssm自带进程守护功能被做成服务的应用程序挂掉它会自动再次跑起来,简直是打不死的小强,看下面动态图,可以看出我直接结束掉该进程,直接就会再次起来,PID有变化。

    1

    结束语

    实际上功能还有很多,比如I/0重定向日志输出等等,具体用法可以参考官网介绍:http://www.nssm.cc/

  • 相关阅读:
    SDN作业(4)
    SDN作业(3)
    第一次个人编程作业
    SDN作业(2)
    SDN作业(1)
    第一次博客作业
    浅谈闭包
    预编译And作用域链
    定时器
    window事件
  • 原文地址:https://www.cnblogs.com/chonglu/p/16060961.html
Copyright © 2020-2023  润新知