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


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

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

相关推荐
wdfk_prog2 分钟前
[Linux]学习笔记系列 -- [fs]binfmt_script
linux·笔记·学习
走在路上的菜鸟8 分钟前
Android学Dart学习笔记第十二节 函数
android·笔记·学习·flutter
a***592622 分钟前
SpringBoot实现异步调用的方法
java·spring boot·spring
即将进化成人机23 分钟前
Spring Boot配置文件
java·开发语言·intellij-idea
龙智DevSecOps解决方案26 分钟前
Java开发基础:什么是Spring Boot?一文了解其优势、对比以及如何通过Perforce JRebel实现高效开发
java·开发语言·spring boot·jrebel·perforce·java开发
一直都在57228 分钟前
手写tomcat(1):Socket
java·tomcat
PPPPickup31 分钟前
easychat---创建,获取,获取详细,退群,解散,添加与移除群组
java·开发语言·后端·maven
luod31 分钟前
SpringBoot自动初始化数据
java·spring boot·spring
牛顿没有错32 分钟前
lombok中@Data、@AllArgsConstructor、@NoArgsConstructor不生效
java·spring boot·spring·intellij-idea
南部余额1 小时前
深入理解 Spring Boot:自动化配置类与 FactoryBean 的异同与协作
java·spring boot·自动化