瑞_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 的默认端口进行查找的,其它服务也可以使用类似的方法进行重启


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

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

相关推荐
东阳马生架构2 分钟前
订单初版—1.分布式订单系统的简要设计文档
java
Code blocks26 分钟前
使用Jenkins完成springboot项目快速更新
java·运维·spring boot·后端·jenkins
荔枝吻36 分钟前
【沉浸式解决问题】idea开发中mapper类中突然找不到对应实体类
java·intellij-idea·mybatis
snoopyfly~1 小时前
Ubuntu 24.04 LTS 服务器配置:安装 JDK、Nginx、Redis。
java·服务器·ubuntu
挺菜的1 小时前
【算法刷题记录(简单题)003】统计大写字母个数(java代码实现)
java·数据结构·算法
掘金-我是哪吒2 小时前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构
亲爱的非洲野猪2 小时前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
wfsm2 小时前
spring事件使用
java·后端·spring
微风粼粼3 小时前
程序员在线接单
java·jvm·后端·python·eclipse·tomcat·dubbo
缘来是庄3 小时前
设计模式之中介者模式
java·设计模式·中介者模式