🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
来源: https://www.toutiao.com/article/7051552011174658564/?log_from=5002d4a8d3839_1641883486781&wid=1708747309110 **对于Windows平台来说,很多软件或系统的后台服务是基于windows服务的方式运行的,它的优势是稳定可靠,有进程保护,但对于一些普通exe程序(控制台程序或带界面的windows程序)或bat文件是否也可以封装成windows服务进行运行呢**?其实windows本身就有SC.exe,它为Windows系统自带工具,可对Windows系统服务进行创建,查询,启动,停止,删除等操作。但是SC.exe 只支持操作服务控制管理器(SCM)接口规范的系统服务,比如一般的网络服务进程如shadowsocks,nginx 等无法作为服务直接启动了,**因此本文介绍一个可以封装普通exe程序或bat文件的windows服务工具:NSSM**。 **NSSM是一个服务封装程序,它可以将普通exe程序或bat文件封装成服务,使之像windows服务一样运行**。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下: **1.支持普通exe程序(控制台程序或者带界面的Windows程序都可以)或bat文件** **2.安装简单又方便** **3.可以重定向输出(并且支持Rotation)** **4.可以自动守护封装了的服务,程序挂掉了后可以自动重启** **5.可以自定义环境变量** **6.可以自定义启动参数** 从以上可以得知,NSSM每个功能都很实用,可以大大简化开发流程,降低了开发难度,使用和调试起来也非常方便,特别不需要考虑开发一个服务实现服务守护功能,以确保稳定可靠。 **NSSM的官网下载地址:[http://nssm.cc/download](https://link.zhihu.com/?target=http%3A//nssm.cc/download)**,如下图: ![](https://pic4.zhimg.com/80/v2-5eadd49c0762e3a434da6bf99d5eb7ab_720w.webp) NSSM的官网下载地址 **NSSM常用命令,**如下: **1.安装服务:nssm install 服务名称** **2.删除服务:nssm remove 服务名称** **3.删除服务确定:nssm remove 服务名称 confirm** **4.修改服务(显示界面修改):nssm edit 服务名称** **5.启动服务:nssm start 服务名称** **6.停止服务:nssm stop 服务名名称** **7.停止服务:nssm stop 服务名称** **NSSM使用步骤**,如下: **1.下载NSSM** **2.根据windows平台,将32/64位nssm.exe文件解压至任意文件夹** **3.cmd定位至nssm.exe所在目录,如你操作系统是32bit,请对应32位的nssm.exe文件,如你操作系统是64bit,请对应64位的nssm.exe** **4.输入 nssm install {服务名称},即注册Windows服务的名称。** ![](https://pic3.zhimg.com/80/v2-2d04f10d5491e754d3b09883ae0d6416_720w.webp) 对应的nssm.exe **注册服务弹出如下NSSM界面**,如下图: ![](https://pic3.zhimg.com/80/v2-2f4c8201292dec2569757b44a6831152_720w.webp) 注册服务 设置说明,如下: **1.Application Path: 选择系统安装的exe或bat。** **2.Startup directory: 选择exe或bat项目的根目录。** **3.Arguments: 输入启动参数。** 上述步骤操作完成,即可点击Install service来注册服务。我们在系统的服务中即可找到刚刚注册的服务。 ![](https://pic2.zhimg.com/80/v2-5c3179bc082f384b6038894ee6ccbf79_720w.webp) 安装服务 ![](https://pic1.zhimg.com/80/v2-5a8a5e6a7b5557c2a144e935472312dc_720w.webp) 安装成功 ![](https://pic2.zhimg.com/80/v2-2008db0a7c5433efd2f28cac8d70f02d_720w.webp) 新安装的windows服务 在系统服务中找到刚刚注册的服务,右键属性 - 恢复即可设置此服务挂掉重启等内容。 **需要注意一点,安装完服务后,需要启动服务,否则没有生效**。