首页 > 系统相关 >使用NSSM将.exe程序安装成windows服务

使用NSSM将.exe程序安装成windows服务

时间:2024-05-06 11:12:10浏览次数:11  
标签:NSSM exe 服务 nssm 程序安装 echo set servicename%

1、下载NSSM:NSSM - the Non-Sucking Service Manager

 

2、cmd方式安装服务

将下载的压缩包解压,找到nssm.exe,以管理员身份打开cmd,在cmd中定位到nssm.exe所在路径,执行nssm install 服务名:

 按下enter键会自动弹出nssm的窗体:

 在Application-Application Path中选择你的可执行文件.exe,确认后会自动填入Startup directory,Service name处可以修改服务名

上方选项卡的Details中可以填入显示名称、描述、启动方式,一般默认是自动启动

填写完成后点击右下角的Install service即可。

3、批处理文件方式安装服务

将nssm.exe复制到要打包的程序文件夹中,再在同目录下新建三个txt文本,分别对应安装服务、关闭服务、卸载服务,将后缀名改为bat

  • 右键编辑,安装服务:
REM 创建服务
echo off
echo 即将开始采用nssm安装应用程序为windows服务,请确认以系统管理员身份运行
set servicename=自定义服务名称
REM %~dp0 为BAT脚本取当前系统目录命令,API_HOST.EXE为需要包装为服务的应用程序
set app_path="%~dp0程序.exe"
set nssm_path="%~dp0nssm.exe"
REM 将NSSM复制至系统盘目录,或者 添加 windows 环境变量亦可达到目的
set targetFolder="C:\windows\System32\nssm.exe"
REM 检查NSSM.exe文件是否存在
echo 检查当前目录nssm.exe文件是否存在
if not exist %nssm_path% (
    echo %nssm_path% 不存在,请确认
    pause 
    goto exitCode
 )
) 
echo %nssm_path% 存在,即将检查文件并复制
REM 复制nssm
if not exist %targetFolder% (
    copy /y %nssm_path% %targetFolder%
    echo 复制nssm至windows系统目录完成
)
echo 即将创建服务 %servicename%
echo  ****************************************

REM 判断service 是否存在,若存在,先停止,至删除
echo 检查服务是否存在,存在则停止服务后删除,再安装
sc query|find /i "%servicename%" >nul 2>nul
if not errorlevel 1 (
    echo 服务已存在,停止运行服务
    echo stop %servicename%
    REM NSSM停止服务命令:nssm stop <ServiceName>
    nssm stop %servicename%    
    echo 开始移除服务 %servicename%
    echo remove service %servicename%
    REM NSSM删除服务命令:nssm remove <ServiceName> confirm
    REM 移除命令最后的 confirm 即表示无限弹窗确认,直接移除。
    nssm remove %servicename% confirm
    echo 移除服务完成
)

echo *********************************
echo 开始创建服务 %servicename%
REM NSSM命令:nssm install <服务名> <服务需要执行的程序>
nssm install %servicename% %app_path%
echo 开始设置服务信息
echo set service property
echo 设置服务显示名称
REM nssm set <ServiceName> DisplayName <ServiceName>
nssm set %servicename% DisplayName %servicename%
echo 设置服务描述
REM nssm set <ServiceName> Description <ServiceName>
nssm set %servicename% Description xxx控制系统 
echo 设置服务启动方式为:自动
nssm set %servicename% Start SERVICE_AUTO_START
echo *********************************
echo 启动服务 %servicename%
echo start service %servicename%
nssm start %servicename%
echo 服务创建并启动完成

:exitCode
pause
set servicename=自定义服务名称,这里的自定义服务名称改为你想要的名称
set app_path="%~dp0程序.exe",这里的程序.exe改为你的可执行文件名
%~dp0代表的是当前目录
  • 右键编辑,关闭服务
@echo off 
@title 关闭服务
echo= 开始关闭服务!  
@echo off  
@sc stop 自定义服务名称
@echo off  
echo= 关闭服务结束!  
@pause
  • 右键编辑,卸载服务
@echo off 
@title 删除服务
echo= 开始删除服务!  
@echo off  
nssm stop 自定义服务名称
nssm remove 自定义服务名称 confirm    
@echo off  
echo= 删除完成!  
@pause
  • 上述的bat文件都需要用管理员身份运行,可以为bat文件创建快捷方式,在快捷方式上右键属性-快捷方式-高级-勾选用管理员身份运行

  • 双击快捷方式执行即可。

4、参考链接:

使用NSSM部署.net API自动化BAT脚本 - 知乎 (zhihu.com)

使用NSSM安装.exe文件成Windows服务(.bat文件操作) - 汪小让 - 博客园 (cnblogs.com)

标签:NSSM,exe,服务,nssm,程序安装,echo,set,servicename%
From: https://www.cnblogs.com/magicMaQaQ/p/18174409

相关文章

  • VS打包项目成.exe&.msi
    VS打包项目成.exe&.msiref:https://blog.csdn.net/weixin_44790046/article/details/103016154准备工作VS2022(VS2017无法安装InstallerProjects扩展,未知原因)InstallerProjects(扩展>管理扩展>联机>搜索>MicrosoftVisualStudioInstallerProjects>下载>......
  • Sxstrace.exe 是 Windows 操作系统提供的一个工具,用于跟踪和分析应用程序的依赖项解析
    sxstrace|MicrosoftLearnSxstrace.exe是Windows操作系统提供的一个工具,用于跟踪和分析应用程序的依赖项解析过程。该工具可以帮助用户诊断应用程序启动或运行时出现的依赖项错误或加载问题。在Windows中,许多应用程序依赖于共享组件和库文件,如动态链接库(DLL)。当应用......
  • mumu模拟器 MuMuManager.exe是MuMu模拟器12新加入的工具
    前言全局说明MuMuManager.exe是MuMu模拟器12新加入的工具官方说明:https://mumu.163.com/help/20230504/35047_1086360.html一、说明MuMu模拟器12的调用程序MuMuManager.exe在模拟器的安装目录下可以找到,如“X:\ProgramFiles\Netease\MuMuPlayer-12.0\shell>MuMuManager......
  • execsnoop排查ovs短时进程导致CPU升高
    问题现象节点CPU间隔一段时间后会冲高。通过execsnoop捕捉到在创建网桥(删除网桥捕捉不到,因为删除时不需要确认状态)。#安装execsnoopgitclone--depth1https://github.com/brendangregg/perf-tools./perf-tools/bin/execsnoop#安装ovsyuminstall-yepel-releaseyum......
  • html,js代码编译,加密,代码一键打包软件,HTML转exe程序
    个人软件注意杀毒软件会报毒,,放行便可小尘web打包程序可以将整个web工程项目打包成一个exe程序运行不是打包浏览器内核应用,是代码打包软件,打包后和原来一样放在nginx类软件里运行下载地址https://download.csdn.net/download/rllmqe/88789653链接:https://pan.baidu.com/s/1HTql......
  • start windows executable in multi-process and wait its ending
    theexecutableimporttimeimportrandomimportsystime.sleep(random.random())print(sys.argv[1])thecallingcontrolimportsubprocessll=[]foriiinrange(8):ll.append(subprocess.Popen(f"pythonab.pymk{ii}"#maybesom......
  • python 打包成exe可执行文件
    一、pyinstall打包代码编写完成,如何在没有python环境的电脑上运行?编写了一个GUI程序,如何把文件打包好,发给别人直接使用?其实最简单的办法就是把.py源文件,打包成可执行程序员exe文件,别人直接双击exe文件就可以运行了。二、最简单样例1、安装依赖包pipinstallpyinstaller2、编......
  • openGauss 如何解决-Configure-error-C-compiler-cannot-create-executables-报错
    如何解决“Configureerror:Ccompilercannotcreateexecutables”报错问题如何解决版本编译时出现的“Configureerror:Ccompilercannotcreateexecutables”报错。回答报错原因:binarylibs文件不完整或者被损坏。解决办法:若binarylibs是通过开源软件构建而来,请重新构......
  • 什么是 Antimalware Service Executable,为什么它会在我的 PC 上运行?
    MicrosoftDefenderAntivirus是一种反恶意软件工具,其后台进程是“AntimalwareServiceExecutable”。两者都默认安装在Windows10中。这个软件,有时称为MsMpEng.exe,是Windows操作系统的一部分。在本文中,我们将深入并解释有关此Windows进程的所有信息。什么是可执行的......
  • MBR2GPT.exe 是一个用于将磁盘从MBR分区转换为GPT分区的工具,而不会修改或删除磁盘上的
    MBR2GPT.exe是一个用于将磁盘从MBR分区转换为GPT分区的工具,而不会修改或删除磁盘上的数据。这个工具允许在Windows环境中执行转换操作,而不仅限于Windows预安装环境。它提供了一些选项来验证磁盘是否可以安全地转换,并执行实际的转换操作。在使用这个工具之前,用户可以选择进行......