瑞_Windows环境下使用bat重启jar包等服务

文章目录

🙊 前言:经验分享------Windows环境下使用.bat批处理文件重启 jar 包等服务。在学习或者工作日常中,有时候会需要在 Windows 系统环境下去启动 jar 包或其它服务,此时如果使用关闭 cmd 窗口再重新执行启动命令,需要两步,一但要重启的服务很多,那会很不舒服。本文通过.bat批处理文件去重启服务,只需要双击运行批处理文件即可完成杀死服务进程并重新启动服务的操作,只需要简单修改即可移植使用,非常方便!


命令

  run.bat批处理的命令注释如下,注意该批处理文件和服务是处于同级目录下

bash 复制代码
REM 关闭命令回显,使输出更清洁
@echo off
REM 更改活动代码页为65001(UTF-8编码),用于支持Unicode字符,防止中文乱码
chcp 65001
REM 设置端口号,用于Java网络监听【请按照实际情况修改,此处设置为48644】
set address=48644
REM 使用for循环和netstat命令查找监听在指定端口(%address%)上的进程,并尝试杀掉它
for /f "tokens=1-5" %%i in ('netstat -ano ^| findstr %address%') do (
 echo killing process with PID %%m
 REM 杀掉进程及其子进程,使用强制模式(-f)  
 taskkill /pid %%m -t -f
)

REM 等待1秒,确保进程被杀死【请按照实际情况修改,此处设置为1秒】
timeout /t 1

REM 清屏(cls命令只在Windows的命令提示符下有效) 
cls

REM 设置命令行窗口的标题【请按照实际情况修改,此处设置为ray_restart_jar】
title ray_restart_jar

REM 开启Java调试代理,并监听在%address%端口上【请按照实际情况修改,此处重启的jar包为ray-monitor.jar】
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=%address% -jar ray-monitor.jar

修改移植说明, 红色****为需要修改的配置

  • set address=48644

    【可以不改】修改端口号,用于Java网络监听,注意要避免端口冲突

  • timeout /t 1

    【可以不改】等待1秒,确保进程被杀死,如果杀死的服务较多,建议改为等待 3 秒或以上

  • title ray_restart_jar

    【可以不改】修改为你 cmd 窗口的标题

  • java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=%address% -jar ray-monitor.jar
    **【必须修改】**修改为你需要重启的jar包,注意路径,本例是同级目录下


示例

重启ray-project.jar

bash 复制代码
@echo off
chcp 65001

set address=48644

for /f "tokens=1-5" %%i in ('netstat -ano ^| findstr %address%') do (
 echo killing process with PID %%m
 taskkill /pid %%m -t -f
)

timeout /t 1

cls

title ray_restart_jar

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=%address% -jar ray-project.jar

瑞:重启 jar 服务可以直接复制以上命令到run.bat文件中,记得修改ray-project.jar为你要重启的 jar 包

重启redis服务

bash 复制代码
@echo off
chcp 65001

title ray_redis-server30504
for /f "tokens=1-5" %%i in ('netstat -ano ^|findstr ":6379"') do taskkill /pid %%m -t -f

REM 重启Redis命令
redis-server.exe redis.windows.conf

瑞:重启 redis 服务时查找 PID 是通过:6379即 Redis 的默认端口进行查找的,其它服务也可以使用类似的方法进行重启


本文是博主的粗浅理解,可能存在一些错误或不完善之处,如有遗漏或错误欢迎各位补充,谢谢

  如果觉得这篇文章对您有所帮助的话,请动动小手点波关注💗,你的点赞👍收藏⭐️转发🔗评论📝都是对博主最好的支持~

相关推荐
喜欢就别3 分钟前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (2)--- On-Policy Distillation
人工智能·笔记
Lhappy嘻嘻2 小时前
Java IO|File 文件操作 + 字节流 / 字符流完整笔记 + 递归删除文件实战
java·笔记·php
伊玛目的门徒3 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
GLDbalala5 小时前
GPU PRO 5 - 4.6 Adaptive Scalable Texture Compression 笔记
笔记
xian_wwq5 小时前
【学习笔记】模型权重管理:Safetensors与私有化Hub(23/35)
笔记·学习
ctrl_v助手5 小时前
Halcon学习笔记2
人工智能·笔记·学习
懒鸟一枚5 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
YUS云生6 小时前
Python学习笔记·第31天:FastAPI入门——路由、路径参数、查询参数与请求体
笔记·python·学习
我命由我123457 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑7 小时前
Sentinel安装
java·后端·微服务