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


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

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

相关推荐
JJJJ_iii13 小时前
【机器学习08】模型评估与选择、偏差与方差、学习曲线
人工智能·笔记·python·深度学习·学习·机器学习
艾菜籽13 小时前
MyBatis操作数据库入门
java·数据库·mybatis
zfoo-framework13 小时前
使用VisualVM进行java性能瓶颈定位 1.无需像JProfiler那样必须加启动参数???
java
CosimaLi13 小时前
CMake学习笔记
笔记·学习
bug攻城狮14 小时前
Spring Boot 2.6+ 整合 PageHelper 启动报错:循环依赖解决方案全解析
java·spring boot·后端
岑梓铭14 小时前
《考研408数据结构》第六章(5.1+5.2+5.3树、二叉树、线索二叉树)复习笔记
数据结构·笔记·考研·408·1024程序员节
好学且牛逼的马14 小时前
MyBatis-Plus的深度解析
java
苏纪云14 小时前
数据结构<C++>——数组
java·数据结构·c++·数组·动态数组
典则15 小时前
STM32FreeRtos入门(五)——同步互斥与通信
java·jvm·stm32
你不是我我15 小时前
【Java 开发日记】我们来讲一讲阻塞队列及其应用
java·开发语言