winsw实现windows服务

一、WinSW (Windows Service Wrapper) 简介与下载

  • 开源地址: https://github.com/winsw/winsw
  • 当前稳定版本: v2.11.0
  • 下载链接: https://github.com/winsw/winsw/releases/tag/v2.11.0
    • 根据服务器上安装的 .NET Framework 版本选择对应的可执行文件下载,例如 .NET Framework 4.x 环境下载 WinSW.NET4.exe
  • 配置文件示例:
    • sample-minimal.xml: 最小化配置示例。
    • sample-allOptions.xml: 包含所有可选配置参数的示例。

二、配置 WinSW

  1. 文件重命名与放置:

    • 将下载的 WinSW.NET4.exe (或其他版本) 重命名为具有明确含义的名称,例如 apiServer.exe(重要提示:此名称即为后续安装的 Windows 服务的可执行文件名,修改便于管理识别。)
    • 将配置文件 sample-minimal.xml 重命名为与可执行文件同名,但保留 .xml 后缀,例如 apiServer.xml
    • apiServer.exeapiServer.xml 两个文件放置到你的应用程序(如 JAR 文件或可执行文件)所在的目录中。
  2. 编辑配置文件 (apiServer.xml): 修改 apiServer.xml 文件,配置服务的基本信息。以下是一个核心配置示例:

    XML 复制代码
    <service>
      <id>apiServer</id>
      <name>apiServer</name>
      <description>API 服务程序</description>
      <startmode>Automatic</startmode>
      <executable>D:\WorkFolders\publish\MES.Server.WMS.WebAPI.exe</executable>
      <arguments></arguments>
    </service>
    • <id>: 安装 Windows 服务后的服务 ID。必须唯一。
    • <name>: 显示在 Windows 服务管理器中的服务名称。必须唯一。 通常与 <id> 保持一致即可。
    • <description>: 服务描述信息,可使用中文,作为备注说明。
    • <startmode>: 服务启动模式,Automatic 表示自动启动。
    • <executable>: 指定要运行的主命令或程序的全路径。例如,启动 Java 应用时,这里通常是 java.exe 的路径。
    • <arguments>: 传递给 <executable> 的命令参数。例如,启动 Spring Boot 应用时,这里可能是 -jar yourapp.jar 或其他 JVM 参数、类路径等。(请根据你的应用实际情况填写参数!)

三、安装与管理服务

  1. 管理员身份 打开命令提示符 (cmd)。

  2. 使用 cd 命令切换到 apiServer.exeapiServer.xml 所在的目录。

  3. 执行以下命令进行服务管理:

    命令 功能
    apiServer.exe install 安装服务
    apiServer.exe uninstall 删除服务
    apiServer.exe start 启动服务
    apiServer.exe stop 停止服务
    apiServer.exe restart 重启服务
    apiServer.exe status 查看服务状态
相关推荐
超级码里奥202410 小时前
OpenClaw(龙虾[特殊字符])AI 智能体安装教程
windows·node.js
YCOSA202519 小时前
雨晨 Windows 11 IoT 企业版 LTSC 26H2 轻装 26300.9278 自用版
windows·物联网
丈剑走天涯1 天前
基于 Python 3 语法的 PyCharm 练习示例,涵盖列表操作、类型判断及数据清洗等核心知识点
windows·python·pycharm
AxureMost1 天前
Dopamine 3.0.10 音乐播放器
windows
MayZork1 天前
Windows 与 Linux 下 vcpkg 的安装部署指南
linux·运维·windows
Source.Liu1 天前
【Dioxus】Windows 环境下 Rust + Dioxus 安装配置笔记
windows·rust·dioxus
落魄大学生之流水线上谋生计1 天前
LangGraph 基本用法指南
java·windows·python·langchain
sukalot1 天前
windows 驱动实例分析系列: libusb驱动分析-应用层源码篇(三)
windows·驱动开发
sxd20011 天前
Vmware和multicast
linux·windows·vmware·无线桥接·multicast
执子星海1 天前
Registry Win32 API详解
c++·windows·microsoft·visualstudio·微软