配置.bat文件查询状态和结束进程

 配置.bar文件时若是出现乱码情况则配置

CHCP 65001

 若想要配置选项执行选择的方式则需要配置

rem 设置各种参数
set "port=8080"
set "pid=0"

rem 设置选项
ECHO.
	ECHO.  [2] 关闭
	ECHO.  [5] 退 出
ECHO.

rem 选项对应的代码
ECHO.请输入选择项目的序号:
set /p ID=
	IF "%id%"=="2" GOTO stop rem 跳转到方法名为 stop 的方法
	IF "%id%"=="5" EXIT
PAUSE
goto:eof
:stop  rem 方法名
   rem 所需要处理的逻辑
goto:eof  rem 该方法到这结束

 若使用时想要执行完命令后不退出则在最后添加

rem 用于定义一个循环的起始点
:loop 

rem 命令用于等待1秒钟
timeout /t 1 >nul  

rem 命令跳转回循环的起始点
goto loop 

 以下是配置.bat文件查询状态和结束进程整体逻辑

@echo off
rem 若输出的是中文乱码则加这个
CHCP 65001

rem 设置各种参数
rem jar平级目录
set "AppName=ruoyi-admin.jar"
set "port=8087"
set "isPortUsed=false"
set "pid=0"
set "image_name=0"

rem 设置选项
ECHO.
	ECHO.  [2] 关闭%AppName%
	ECHO.  [4] 启动状态 %AppName%
	ECHO.  [5] 退 出
ECHO.

rem 选项对应的代码
:menu
echo
ECHO.请输入选择项目的序号:
set /p ID=
	IF "%id%"=="2" GOTO stop
	IF "%id%"=="4" GOTO status
	IF "%id%"=="5" EXIT
PAUSE
goto:eof
rem 函数stop通过jps命令查找pid并结束进程
:stop
rem  tokens取第几列若不知道可以直接执行 netstat -ano | findstr "%port%"看一下
rem  delims分割符 默认提取第一列

rem 根据端口号结束进程
	for /f "tokens=5" %%a in ('netstat -ano ^| findstr "%port%"') do (
		set "pid=%%a"
		set "isPortUsed=true"
		
	)
	
rem 根据jsp命令结束进程 注需要执行一下 Java -v如果是版本号则可以使用
	for /f %%a in ('jps -l ^| findstr %AppName%') do (
		set "isPortUsed=true"
		set "pid=%%a"
	)

	if %isPortUsed%==true (
		echo 杀死端口 %port% 的进程,进程ID为 %pid%
		call :menu
	) else (
		echo 端口 %port% 未被占用
		call :menu
	)
goto:eof
:status
rem 根据端口号查询
	for /f "tokens=5" %%a in ('netstat -ano ^| findstr /r /c:"^ *TCP.*:%port%.*LISTENING"') do (
		set "pid=%%a"
		set "isPortUsed=true"
	)

rem 根据jsp命令查询 注需要执行一下 Java -v如果是版本号则可以使用
	for /f %%a in ('jps -l ^| findstr %AppName%') do (
		set "pid=%%a"
		set "isPortUsed=true"
	)

	if %isPortUsed%==true (
		echo 端口 %port% 已被占用,进程ID为 %pid%
		call :menu
	) else (
		echo 端口 %port% 未被占用
		call :menu
	)
goto:eof

rem 防止bat文件执行完后黑窗口自动退出
:loop
timeout /t 1 >nul
goto loop
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值