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


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

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

相关推荐
num_killer39 分钟前
小白的Langchain学习
java·python·学习·langchain
wdfk_prog1 小时前
[Linux]学习笔记系列 -- hashtable
linux·笔记·学习
期待のcode1 小时前
Java虚拟机的运行模式
java·开发语言·jvm
程序员老徐1 小时前
Tomcat源码分析三(Tomcat请求源码分析)
java·tomcat
a程序小傲2 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
仙俊红2 小时前
spring的IoC(控制反转)面试题
java·后端·spring
阿湯哥2 小时前
AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南
java·人工智能·spring
小楼v2 小时前
说说常见的限流算法及如何使用Redisson实现多机限流
java·后端·redisson·限流算法
与遨游于天地2 小时前
NIO的三个组件解决三个问题
java·后端·nio
czlczl200209252 小时前
Guava Cache 原理与实战
java·后端·spring