文章目录
- 命令
- 示例
- 重启ray-project.jar
- 重启redis服务
🙊 前言:经验分享——Windows环境下使用
.bat
批处理文件重启 jar 包等服务。在学习或者工作日常中,有时候会需要在 Windows 系统环境下去启动 jar 包或其它服务,此时如果使用关闭 cmd 窗口再重新执行启动命令,需要两步,一但要重启的服务很多,那会很不舒服。本文通过.bat
批处理文件去重启服务,只需要双击运行批处理文件即可完成杀死服务进程并重新启动服务的操作,只需要简单修改即可移植使用,非常方便!
命令
run.bat
批处理的命令注释如下,注意该批处理文件和服务是处于同级目录下
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 %%mREM 杀掉进程及其子进程,使用强制模式(-f) taskkill /pid %%m -t -f
)REM 等待1秒,确保进程被杀死【请按照实际情况修改,此处设置为1秒】
timeout /t 1REM 清屏(cls命令只在Windows的命令提示符下有效)
clsREM 设置命令行窗口的标题【请按照实际情况修改,此处设置为ray_restart_jar】
title ray_restart_jarREM 开启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
@echo off
chcp 65001set address=48644for /f "tokens=1-5" %%i in ('netstat -ano ^| findstr %address%') do (echo killing process with PID %%mtaskkill /pid %%m -t -f
)timeout /t 1clstitle ray_restart_jarjava -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=%address% -jar ray-project.jar
瑞:重启 jar 服务可以直接复制以上命令到
run.bat
文件中,记得修改ray-project.jar
为你要重启的 jar 包
重启redis服务
@echo off
chcp 65001title ray_redis-server30504
for /f "tokens=1-5" %%i in ('netstat -ano ^|findstr ":6379"') do taskkill /pid %%m -t -fREM 重启Redis命令
redis-server.exe redis.windows.conf
瑞:重启 redis 服务时查找 PID 是通过
:6379
即 Redis 的默认端口进行查找的,其它服务也可以使用类似的方法进行重启
如果觉得这篇文章对您有所帮助的话,请动动小手点波关注💗,你的点赞👍收藏⭐️转发🔗评论📝都是对博主最好的支持~