Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启

这篇具有很好参考价值的文章主要介绍了Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

官方Github;官方下载地址。没有Git加速的话很难下载,分享一下发布日期为2023.01.29的当前最新稳定版v2.12.0网盘连接。
包含文件:

  • WinSW-x64.exe
  • sample-minimal.xml
  • sample-allOptions.xml

链接:https://pan.baidu.com/s/1sN3hL5HvFzzNwuz8npaQNw
提取码:vsvg

为什么要注册为服务 服务器重启后服务可以自行重启。

1.官网使用说明

1.1 使用配置说明

Use WinSW as a global tool

  1. Take WinSW.exe or WinSW.zip from the distribution.
  2. Write myapp.xml (see the XML config file specification and samples for more details).
  3. Run winsw install myapp.xml [options] to install the service.
  4. Run winsw start myapp.xml to start the service.
  5. Run winsw status myapp.xml to see if your service is up and running.

作为全局工具使用,不同服务使用不同的xml文件进行操作。

Use WinSW as a bundled tool

  1. Take WinSW.exe or WinSW.zip from the distribution, and rename the .exe to your taste (such as myapp.exe).
  2. Write myapp.xml (see the XML config file specification and samples for more details).
  3. Place those two files side by side, because that’s how WinSW discovers its co-related configuration.
  4. Run myapp.exe install [options] to install the service.
  5. Run myapp.exe start to start the service.

作为绑定工具使用,默认使用同名的xml文件进行操作,个人感觉这种方式更适合实施的小伙伴儿。

Sample configuration file

You write the configuration file that defines your service. The example below is a primitive example being used in the Jenkins project:

<service>
  <id>jenkins</id>
  <name>Jenkins</name>
  <description>This service runs Jenkins continuous integration system.</description>
  <env name="JENKINS_HOME" value="%BASE%"/>
  <executable>java</executable>
  <arguments>-Xrs -Xmx256m -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>
  <log mode="roll"></log>
</service>

The full specification of the configuration file is available here. You can find more samples here.
这个配置文件举例是很典型的可执行文件+参数,适合很多服务。

1.2 Usage

WinSW is being managed by the XML configuration file.
Your renamed WinSW.exe binary also accepts the following commands:

Command Description
install Installs the service.
uninstall Uninstalls the service.
start Starts the service.
stop Stops the service.
restart Stops and then starts the service.
status Checks the status of the service.
refresh Refreshes the service properties without reinstallation.
customize Customizes the wrapper executable.
dev Experimental commands.

Experimental commands:

Command Description
dev ps Draws the process tree associated with the service.
dev kill Terminates the service if it has stopped responding.
dev list Lists services managed by the current executable.

Most commands require Administrator privileges to execute. WinSW will prompt for UAC in non-elevated sessions.
这些命令不再详细说明,用到的时候再介绍。

2.实例分享

2.1 将exe注册成服务

这里使用对象存储MinIO的minio.exe进行Use WinSW as a bundled tool举例,详细步骤如下:

  1. WinSW-x64.exe重命名为minio-server.ext
  2. 添加配置文件minio-server.xim内容如下,配置详情可查看sample-allOptions.xml
<service>
  <id>minio-server</id>
  <name>MinIO-Server</name>
  <description>This service runs MINIO OBJECT STORE.</description>
  <env name="MINIO_HOME" value="%BASE%"/>
  <executable>%BASE%\minio.exe</executable>
  <arguments>server D:\minio_data --console-address ":9001"</arguments>
  <logpath>%BASE%\logs</logpath>
  <log mode="roll-by-size-time">
    <sizeThreshold>1024</sizeThreshold>
    <pattern>yyyyMMdd</pattern>
    <autoRollAtTime>00:00:00</autoRollAtTime>
    <zipOlderThanNumDays>5</zipOlderThanNumDays>
    <zipDateFormat>yyyyMMdd</zipDateFormat>
  </log>
  <env name="MINIO_ROOT_USER" value="admin" />
  <env name="MINIO_ROOT_PASSWORD" value="admin123" />
</service>
  1. cmd执行命令minio-server.exe install安装为服务(此时服务并未启动)
INFO  - Installing service 'MinIO-Server (minio-server)'...
INFO  - Service 'MinIO-Server (minio-server)' was installed successfully.
  1. 执行命令minio-server.exe start启动服务

完整流程测试:

Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启,... .. . Windows . .. ...,windows,jar,java,winsw,服务自启动

2.2 将jar注册成服务

这里使用 Arthas(阿尔萨斯)用于测试的math-game.jar包进行Use WinSW as a bundled tool举例,详细步骤如下:

  1. WinSW-x64.exe重命名为math-game-server.exe
  2. 添加配置文件math-game-server.xml内容如下
<service>
  <id>math-game-server</id>
  <name>Math-Game-Server</name>
  <description>This service runs math-game server.</description>
  <env name="MATHGAME_HOME" value="%BASE%"/>
  <executable>java</executable>
  <arguments>-Xrs -Xmx128m -jar "%BASE%\math-game.jar"</arguments>
  <logpath>%BASE%\logs</logpath>
  <log mode="roll-by-size-time">
    <sizeThreshold>1024</sizeThreshold>
    <pattern>yyyyMMdd</pattern>
    <autoRollAtTime>00:00:00</autoRollAtTime>
    <zipOlderThanNumDays>5</zipOlderThanNumDays>
    <zipDateFormat>yyyyMMdd</zipDateFormat>
  </log>
</service>

-Xrs 参数是"Reduce Signal Usage"的缩写,它告诉JVM降低对操作系统信号的使用。通常情况下,JVM会捕获一些操作系统信号,如SIGTERM(终止信号)和SIGINT(中断信号),用于优雅地关闭Java进程。然而,使用 -Xrs 参数后,JVM会尽量减少对这些信号的使用,而是依赖于Java代码来处理关闭操作。这可以提高JVM在某些情况下的稳定性。

  1. cmd执行命令math-game-server.exe install安装为服务(此时服务并未启动,状态为:已停止)
INFO  - Installing service 'Math-Game-Server (math-game-server)'...
INFO  - Service 'Math-Game-Server (math-game-server)' was installed successfully.
  1. 执行命令minio-server.exe start启动服务

启动后打印的日志:

Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启,... .. . Windows . .. ...,windows,jar,java,winsw,服务自启动

跟exe一样,这里仅作部分测试:

Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启,... .. . Windows . .. ...,windows,jar,java,winsw,服务自启动

3.总结

WinSW(Windows Service Wrapper)是一个开源的项目,它允许将任何可执行文件(通常是.NET应用程序、exe应用程序、Java JAR文件等)转化为Windows服务。WinSW的目标是使在Windows操作系统上运行非Windows服务变得更加容易。它提供了一种将应用程序包装为Windows服务的方式,允许你以服务的形式启动、停止、暂停和恢复应用程序。

以下是WinSW的主要特点和用途:文章来源地址https://www.toymoban.com/news/detail-708277.html

  1. 应用程序包装为服务:WinSW允许你将各种类型的应用程序包装为Windows服务,而无需修改应用程序代码。这对于将常规应用程序部署为服务非常有用。
  2. 简化管理:一旦应用程序被包装为服务,你可以使用Windows服务管理器或命令行工具来管理它,例如sc命令。这使得在Windows上部署和管理应用程序更加方便。
  3. 自定义配置:WinSW允许你通过XML或YAML配置文件自定义服务的行为,包括服务名称、描述、工作目录、启动参数等。这使得你可以灵活地配置服务以适应不同的需求。

到了这里,关于Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ONVIF工具使用说明

    作为视频安防领域的工作者,少不了和摄像头打交道,一般大部分厂商都支持ONVIF协议,所以还是有必要了解一下怎么使用ONVIF的官方工具。 1.下载ONVIF工具,自行百度下载 2.下载安装完成后打开工具,这里以ONVIF_Device_TestTool_v19.06为例 选择物理网卡 点击搜索设备 搜索设备信息

    2024年02月10日
    浏览(34)
  • 小景的工具使用--Java诊断工具Arthas的使用说明

    小景最近在做程序和数据库的压测工作,期间监控压测数据,分析程序原因变成了一个待解决的问题,根据公司小伙伴的建议,接触了阿尔萨斯这个诊断工具,下面小景分别基于Linux操作系统和Windows操作系统,来详细的说下使用说明和使用心得。   Arthas(阿尔萨斯)是一个用

    2024年02月08日
    浏览(26)
  • Pytorch中最大池化层Maxpool的作用说明及实例使用(附代码)

    目录 1. 池化的功能 2. 神经原网络设定最大卷积层的作用 3. torch.nn.MaxPool2d() 4. 使用torch.nn.MaxPool2d()实战  3. Pytorch源码 1. 池化的功能 先通过与卷积的相同点及不同点说明池化的功能。 池化与卷积的共同点: 池化操作也是原图像矩阵(或特征图矩阵)与一个固定形状的窗口(

    2024年02月05日
    浏览(35)
  • TCP调试工具使用说明

    目录 TCPTool概述 1 TCPTool简介 2 软件运行环境 3 软件安装 4 应用场景 5 软件主界面 TcpTool配置选项 1 设置软件界面风格 2 设置发送选项 3 设置接收选项 TCPTool基础操作 1 保存当前调试 2 打开历史调试 3 新建服务端 4 启动和停止服务端 5 新建客户端 6 连接服务端并调试 下载地址

    2024年02月06日
    浏览(38)
  • linpack测试工具使用说明

    目录 1. linpack 测试工具 1.1. linpack 简介 1.2. mpi 简介 2. linpack配置文件及参数含义 2.1. 概览 2.2. HPL.dat参数分析 3. linpack使用及结果分析 3.1. linpack编译运行 3.2. linpack结果分析 3.2.1. linpack结果效率计算 3.2.2. 占用内存空间 4. linpack调试参数的一些心得 5. 使用pts运行linpack 5.1. 安装pt

    2023年04月17日
    浏览(28)
  • WebSocketTool WebSocket调试工具使用说明

    目录 WebSocketTool概述 1 WebSocketTool简介 2 软件运行环境 3 软件安装 4 应用场景 5 软件主界面 WebSocketTool配置选项 1 设置软件界面风格 2 设置发送选项 1 设置发送数据类型 2 设置周期发送 3 重放历史发送 4 发送预编辑数据模板 5 选择数据发送通道 3 设置接收选项 1 设置接收数据类

    2024年03月14日
    浏览(50)
  • speccpu测试工具介绍和使用说明

    目录 1. speccpu 测试工具 1.1. speccpu 简介 2. speccpu使用说明 2.1. speccpu安装运行 2.2. speccpu测试参数 2.3. 常用测试参数说明 2.4. 测试用例说明 3. speccpu结果分析 3.1. speccpu测试结果   speccpu 测试工具 speccpu 简介 CINT2006包括C编译程序、量子计算机仿真、下象棋程序等,CFP2006包括有限元

    2024年02月12日
    浏览(31)
  • Linux安全之auditd审计工具使用说明

      audited是Linux审核系统的用户空间组件。它负责将审核记录写入磁盘。查看日志是通过ausearch或aureport实用程序完成的。审核系统或加载规则的配置是使用auditctl实用程序完成的。在启动过程中,/etc/audit/audit.rules中的规则由auditctl读取并加载到内核中。另外,还有一个augenr

    2024年02月04日
    浏览(35)
  • IOzone I/O测试工具使用说明

      IOzone是一个开源文件系统基准工具,用来测试文件系统的读写性能,也可以进行测试磁盘读写性能。Iozone能够运行于许多平台。这份文档涵盖Iozone所执行的许多不同类型的操作和它的所有命令行参数。   Iozone执行以下操作测试文件I/O性能:   Read, write, re-read, re-wri

    2024年02月03日
    浏览(25)
  • 网络测试工具——iperf3详细使用说明

    iperf3是一款带宽测试工具,它支持调节各种参数,比如通信协议,数据包个数,发送持续时间,测试完会报告网络带宽,丢包率和其他参数。 操作系统:Ubuntu20.04LTS 打开终端,直接输入 说明:不同的系统安装方式不同,这里只介绍ubuntu系统 环境假设: 假设两台设备。 A(客

    2024年02月03日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包