当前位置: 首页 > news >正文

windows服务器更新jar包脚本

【需求】Java每次发布新的版本都需要先kill掉原来的服务,然后再启动新的包  有了这个脚本只需要把包替换掉,服务会自动kill  

以6001 为例  完整的脚本如下

@echo off
REM 检查端口 6001 是否被占用
netstat -ano | findstr :6001 > nul
IF %ERRORLEVEL% EQU 0 (
    REM 如果端口被占用,查找并杀死进程
    FOR /F "tokens=5" %%i in ('netstat -ano ^| findstr :6001') do (
        echo Killing process with PID %%i
        taskkill /PID %%i /F
    )
)

REM 启动新的 Java 服务
java -jar admin.jar --spring.profiles.active=product

脚本解析:

  1. netstat -ano | findstr :6001:检查端口 6001 是否被占用。如果端口被占用,则返回进程信息。
  2. IF %ERRORLEVEL% EQU 0:如果端口被占用,继续执行杀死进程的命令。
  3. FOR /F "tokens=5" %%i in ('netstat -ano ^| findstr :6001') do:查找并获取占用端口的进程 ID(PID)。
  4. taskkill /PID %%i /F:根据 PID 强制杀死进程。
  5. 最后,启动新的 Java 服务:java -jar admin.jar --spring.profiles.active=product
http://www.dtcms.com/a/44119.html

相关文章:

  • 【pytest框架源码分析三】pluggy源码分析之hook注册调用流程
  • Compose笔记(七)--Modifier
  • 《算法笔记》9.6小节 数据结构专题(2)并查集 问题 C: How Many Tables
  • EasyExcel构建复杂多级表头
  • 网络安全员证书
  • go类(结构体)和对象
  • windows下玩转vllm:在wsl下安装vllm
  • 高速光耦在通信行业的应用(四) | 1Mbps通信光耦的应用
  • sentinel详细使用教学
  • 两分种解决:xshell终端delete键无效
  • c++中的静态多态和动态多态简介
  • 性能测试【Perfdog】
  • 接口测试工具:postman详解
  • CAM350_安装
  • 【Linux高级IO】Linux多路转接:深入探索poll与epoll的奥秘
  • Ollama的底层实现原理分析
  • 《浔川AI翻译v6.1.1版本推迟上线公告》
  • C++类和对象
  • 算法day4 dfs搜索2题
  • 【机房——LCA】
  • 小米火龙CPU和其他几代温度太高的CPU是由谁代工的
  • 卢卡斯定理判断组合数奇偶(Codeforces Round 1006 (Div. 3)——F)
  • 【含文档+PPT+源码】基于SpringBoot的宠物领养系统设计与实现
  • Rust语言基础知识详解【四】
  • #11 如何使用 Kaggle packages
  • Vue学习教程-18Vue单文件组件
  • LeetCodehot 力扣热图100 括号生成
  • 水仙花数(华为OD)
  • 2025-03-01 学习记录--C/C++-PTA 7-35 有理数均值
  • CountDownLatch使用