• Linux
  • apache
  • centos
  • Git版本管理
  • Linux基本命令
  • linux配置与优化
  • Nginx
  • PHP
  • Redis
  • Supervisor
  • Swoole
  • windows
  • THINKPHP
  • 开发者手册
  • Chat GPT / Open Ai
  • 使用NSSM安装.exe文件成Windows服务(.bat文件操作)

    全屏阅读
  • 基本信息
  • 作者:
  • 作者已发布:925篇文章
  • 发布时间:2022年11月15日 16:26:42
  • 所属分类:开发软件相关
  • 阅读次数:459次阅读
  • 标签:
  • 之前查到的nssm安装Windows服务都是用 nssm install <servicename> ,但是会弹出窗口,需要填写路径参数

    使用NSSM把任意exe程序注册成Windows服务

    下面介绍一种,直接使用.bat命令就可以实现的安装方式(本文使用的.exe文件是,.net core项目发布的一个网站项目,其他的应该也是一样的原理

    1、下载nssm, download

    2、解压后,把nssm.exe文件复制到,发布完项目的文件夹里(就是放.exe文件的那个文件夹)

    3、创建install.bat文件(名字随便取都可以),文件中内容

    @ echo off
    
    @echo 添加环境变量
    set mypath=%~dp0
    set path=%mypath%;%path%
    
    
    @echo 开始安装【GDSM服务】
    call nssm install GDSMService %~dp0GDSMPlateForm.exe
    
    echo wscript.sleep 5000 > delay.vbs 
    cscript //nologo delay.vbs & del delay.vbs 
    @echo 开始启动【GDSM服务】
    call nssm start GDSMService
    
    pause

    4、右键install文件,创建快捷方式(快捷方式名字随便取),修改为管理员权限打开

    5、双击打开快捷方式,就会自动安装服务,并开启服务

    6、查看服务

    7、(如果需要)删除服务,建议先关闭服务,再删除

    1)管理员身份打开cmd,删除命令:sc delete 服务名  如:sc delete GDSMService

     

    注意:

    1)在执行nssm命令之前,一定要先添加nssm.exe的环境变量,否则会出下“找不到nssm命令”

    2)安装服务和启动服务要使用call,不能用start或者不写,否则也会出现“找不到nssm命令”,原因是使用start或者不写,添加的环境变量没有立即生效

    这里被坑了很久,之前都是不写【nssm install GDSMService】,然后发现环境变量一直不生效,也试过重启explorer,都不行

    3)添加环境变量(临时环境变量,等服务安装完成,环境变量不存)

    nssm install GDSMService C:\Windows\Setup\DSMPlateForm.exe   完全没问题
    但是,如果想要使用当前文件夹的路径呢?
     正常应该是这样的, nssm install GDSMService %~dp0GDSMPlateForm.exe  然而就是不行(猜测原因:应该是nssm没有在环境变量里面,没有资格使用系统的变量%~dp0)
    解决办法:先添加nssm.exe的环境变量就可以了


    顶一下
    (0)
    100%
    订阅 回复
    踩一下
    (0)
    100%
    » 郑重声明:本文由mpxq168发布,所有内容仅代表个人观点。版权归恒富网mpxq168共有,欢迎转载, 但未经作者同意必须保留此段声明,并给出文章连接,否则保留追究法律责任的权利! 如果本文侵犯了您的权益,请留言。
  • 【上一篇】
  • 【下一篇】
  • 目前有 0 条留言 其中:访客:0 条, 博主:0 条

    给我留言

    您必须 [ 登录 ] 才能发表留言!