将exe应用封装成windows服务

最近在使用windows应用程序计划来设置应用开机启动运行,但是不知为什么老是运行一段时间莫名其妙的退出,很是不爽,后面想想可以将应用做成 “服务” 这样应该就稳定多了,那怎样将exe的应用程序简单快速的做成windows服务呢,同事推荐了一个工具,用起来就是很方便,来写个博客记录一下

介绍一下NSSM是个什么东西吧

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

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

官网地址及使用方式:

NSSM

安装服务cmd命令:

nssm install <servicename>

ServiceName为要创建的windows服务的名称,运行后打开配置界面:

填写参数后点击 Install Service 按钮即可完成。

图形界面操作很简单,基本看了就会,下面主要介绍命令行用法

    1. 安装服务
      nssm install <servicename> <app> [<args>...]

      示例:

       
      1. nssm install celery-demo-worker "c:\Program Files\Python35\Scripts\celery.exe"
      2. nssm set celery-demo-worker AppDirectory d:\celery-demo
      3. nssm set celery-demo-worker AppParameters -A run worker --loglevel=debug -c 1
    2. 启动服务
      nssm start <servicename>

    3. 停止服务
      nssm stop <servicename>

    4. 重启服务
      nssm restart <servicename>

    5. 查看服务状态
      nssm status <servicename>

    6. 手动轮转日志文件
      nssm rotate <servicename>

    7. 删除服务
      nssm remove <servicename> [confirm]

      加confirm后不会弹确认窗口

    8. 获取某项配置信息
      nssm get <servicename> <parameter> [subparameter]

    9. 单独设置某项配置
      nssm set <servicename> <parameter> [subparameter] value

    10. 重置某项配置
      nssm reset <servicename> <parameter> [subparameter]

    11. 暂停/继续服务
      nssm pause <servicename>
      nssm continue <servicename>

posted on 2020-04-26 17:59  OceanWang  阅读(3050)  评论(0编辑  收藏  举报

导航