jar、bat制作Windows系统服务

jar、bat、exe制作Windows系统服务

在工作中,有很多中间件启动后是一个窗口,这样很不方便,比如nacos、Seata这些服务,如果可以做成Windows系统服务,开机即启动岂不是美哉?

须知:.jar、.exe、.bat都可以制作成系统服务,且方式不止一种

所需要工具:Windows小工具(主要依靠这个)、xml文件、需要制作的执行程序(小工具和xml文件名称保持一致)
链接:小工具
提取码:fq6h

一、bat制作:

以Seata服务为例,只有启动bat脚本,并没有停止bat脚本.

1.那就创建一个stop-seata.bat,可随意写,达到停止Seata服务目的即可

@echo off & setlocal EnableDelayedExpansion

choice /t 1 /d y /n >nul

set obj[0]=8091


set port=0
set pid=0

for /f "usebackq delims== tokens=1-2" %%a in (`set obj`) do (
    set port=%%b
    for /f "tokens=5" %%m in ('netstat -aon ^| findstr ":%%b"') do (
        set pid=%%m
    )
    if "!pid!"=="0" (
        echo 端口号【!port!】没有占用
    ) else (
        echo 端口号【!port!】相关进程以杀死
        taskkill /f /pid !pid!
    )
    set pid=0
)

pause

2.编写seata-server.xml文件

<service>
  <!-- 唯一服务ID-->
  <id>seata</id>
  <!-- 显示服务的名称 -->
  <name>gksc-seata</name>
  <!-- 服务描述 -->
  <description>seata服务</description>
  <!-- 日志路径 -->
  <logpath>F:\install-nacos-server\seata-server-1.2.0\bin\logs\</logpath>
  <!-- 日志模式 -->
  <logmode>roll</logmode>
  <!-- 可执行文件的命令 -->
  <executable>F:\install-nacos-server\seata-server-1.2.0\bin\seata-server.bat</executable>
  <!-- 停止可执行文件的命令 -->
  <stopexecutable>F:\install-nacos-server\seata-server-1.2.0\bin\stop-seata.bat</stopexecutable>
</service>

目录结构如下:
Seata

3.电脑需管理员身份进入程序目录执行命令 gksc-seata-server.exe install

二、.jar制作

1、新建一个文件夹,放入以下文件,exe小工具、jar包、xml名称保持一致

目录

2、在新建的xml文件中加入以下内容

<service>
     <id>gksc-terminal</id>
<!—服务名称 -->
     <name>gksc-terminal</name>
<!—服务描述 可中文 -->
     <description>This is gksc-terminal service.</description>
     <!-- java环境变量 -->
     <env name="JAVA_HOME" value="%JAVA_HOME%"/>
     <executable>java</executable>
    <arguments>-jar "D:\BaiduNetdiskDownload\test\gksc-terminal.jar"</arguments>
     <!-- 开机启动 -->
     <startmode>Automatic</startmode>
     <!-- 日志配置 -->
     <logpath>D:\BaiduNetdiskDownload\test\server log</logpath>
     <logmode>rotate</logmode>
 </service>

3、用管理员身份进入该目录命令:gksc-terminal.exe install

4、在系统服务中找到该服务启动该服务即可。

PS:以上方式不能确保每位大佬都能成功,勿喷

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值