使用 WinSW 将 exe 等文件作为 Windows 服务运行

温馨提示:本文最后更新于2024-12-21 22:52:23,某些文章具有时效性,若有错误或已失效,请在文末留言。

WinSW(Windows Service Wrapper)是一款轻量级的、强大的开源工具,可以将脚本、exe、jar等任何可执行文件设置为 Windows 服务。这意味着,原本设计为命令行应用或需要手动启动的程序,可以通过 WinSW 配置成为能够在 Windows 系统后台自动启动、停止、重启的服务,而无需用户登录或进行额外的手动干预。

WinSW 的工作原理是读取一个XML配置文件(通常命名为winsw.xml),在这个配置文件中定义了服务的名称、可执行文件路径、启动参数、服务描述、日志配置等信息。然后,通过运行 WinSW 提供的exe文件(如WinSW-x64),根据XML配置来管理对应的应用程序作为服务。WinSW 的设计使其具有高度的灵活性和扩展性。

功能特色

1、跨平台兼容性:尽管主要面向 Windows 系统,但 WinSW 也可以在使用Mono的Unix-like系统上工作
2、简单配置:仅需编辑XML文件即可快速设置
3、日志记录:支持自定义日志输出位置和级别,便于故障排查
4、灵活的进程管理:允许用户自定义启动、停止、重启命令,以及相关的错误处理逻辑
5、易于集成:由于其简单易用的特性,WinSW 常被用于Java应用、Node.js应用,以及其他需要作为后台服务运行的场景

下载地址

WinSW官网:https://github.com/winsw/winsw/releases

无法打开 GitHub 地址的同学们,可以从下方站长分享的网盘中下载!

●普通下载:https://url57.ctfile.com/d/16898257-64401910-83e062?p=1140,访问密码:1140
●其它网盘:

图片[1]-使用 WinSW 将 exe 等文件作为 Windows 服务运行-十一张

使用指南

下面,十一张(www.11zhang.com)以 nginx.exe 应用程序作为 Windows 服务安装为例进行讲解。

1、​在 Nginx 安装目录下,添加 WinSW 程序(nginx-service.exe)和对应的 xml 文件(nginx-service.xml),两者的名字需要一致,如图所示:

①将下载的 WinSW-x64.exe 文件复制到 Nginx 安装目录下并重命名为:nginx-service.exe
②在 Nginx 安装目录中新建一个名称为 nginx-service.xml 的xml文件(必须要和 WinSW-x64.exe 重命名的 nginx-service.exe 名称一致),目的是让WinSW去读取和自己相同名称的xml文件中的配置

图片[2]-使用 WinSW 将 exe 等文件作为 Windows 服务运行-十一张

2、其中,nginx-service.xml 配置文件内容如下:

<!-- nginx-service.xml -->
<service>
    <id>nginx</id>
    <name>nginx</name>
    <description>nginx</description>
    <logpath>C:\nginx-1.24.0</logpath>
    <logmode>roll</logmode>
    <depend></depend>
    <executable>C:\nginx-1.24.0\nginx.exe</executable>
    <stopexecutable>C:\nginx-1.24.0\nginx.exe -s stop</stopexecutable>
</service>

PS:XML配置文件说明:

标签名作用
id服务ID,在Windows系统中必须唯一的系统标识
name服务显示名称,不能使用中文,仅限英文、数字、横线等
description服务的描述信息,描述服务的作用
logpath配置日志路径
logmode日志输出模式(如滚动日志),默认为append
executable启动可执行文件的路径,如果配置了Java环境变量,可以直接使用iava替代,否则使用全路径
env可设置环境变量
arguments传递给可执行文件的启动参数(如果有)
startmode指定Windows服务的启动模式,它可以是下列值之一:开机、系统、自动或手动,默认值是“Automatic”
stopexecutable指定停止服务时执行的命令(可选)

3、之后,通过命令行使用 nginx-service.exe 和对应的 nginx-service.xml 文件来安装、启动、停止或卸载服务。

图片[3]-使用 WinSW 将 exe 等文件作为 Windows 服务运行-十一张
命令效果
***.exe install注册服务
***.exe uninstall卸载服务服务
***.exe stop停止服务
***.exe start启动服务
***.exe restart重启服务
***.exe status查看服务状态
✅来源:十一张博客
© 版权声明
THE END
如果觉得这篇文章对您有帮助,可以收藏本网址,方便下次访问!
点赞2 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容