bat执行Springboot项目,黑框关闭一直运行

查询同app名的并关闭,然后启动新项目(端口自动)

参考 https://blog.csdn.net/QIU176161650/article/details/119680148

goto start
jar可执行程序启动工具
主要功能:自动关闭当前系统中appName同名的java项目并启动(jar重启)
:start
@echo off
echo 这里需配置你的jar包名称的前缀  eg:goods3.0.jar 下面填写goods
set appName=goods
echo 这里配置版本号 eg3.0
set jarFile=%appName%3.0.jar
echo find %appName% to kill before start process.
for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %appName%`) do (
	set pid=%%a
	set image_name=%%b
)
if not defined pid (echo process %appName% does not exists) else (
	echo prepare to kill %image_name%
	echo start kill %pid% ...
	taskkill /f /pid %pid%
)

echo start %jarFile%
echo 这里配置端口号
start java -Xms1024m -Xmx2048m -Dsun.lang.ClassLoader.allowArraySyntax=true -Duser.timezone=GMT+08 -jar %jarFile%  --server.port=8885 
for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %jarFile%`) do (
	set pid=%%a
	set image_name=%%b
	echo %%a >%appName%.pid
)
exit


::黑框关闭还会运行
@echo off

:: 进入D盘

D:

:: 执行jar包,如果出错写入日志

javaw -jar demo-0.0.1-SNAPSHOT.jar 1>error.log

:: 退出窗口

exit

不隐藏黑框(端口自定)

cd %~dp0
java -Dfile.encoding=utf-8 -jar goods3.0.jar --server.port=8885

查看8080端口是否开启

netstat -ano | findstr 8080

关闭端口
taskkill /pid 17160 /f

查看端口并关闭 bat (notepad打开 Convert to ANSI)

@Echo Off


title=强制kill
SETLOCAL EnableDelayedExpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
  set "DEL=%%a"
)
call :ColorText 09 "POWER BY DZ"
echo.
goto cmdmain

:cmdmain
set /p port=请输入指定端口:


if  "%port%" == "" (
  echo.
  call :ColorText 0c "无效端口"
  echo.
  echo.
  goto cmdchoice		
)


for /f "tokens=5" %%a  in ('netstat /ano ^| findstr %port%') do ( set PidList=%%a)

if  "%PidList%" == "" (
  echo.
  call :ColorText 0c "进程不存在"
  echo.
  echo.
  goto cmdchoice
)

for /f "tokens=1" %%b in ('tasklist ^| findstr %PidList%') do ( set PName=%%b)

echo.
echo =========================
echo.
echo.
echo *端口(%port%)的PID是(%PidList%)
echo.
echo.
call :ColorText 0a "        %PName%"
echo.
echo.
echo =========================
echo.
set "select="

set/p select=是否终止该进程(0: 否,退出, 1: 是,2:  查看所有进程):

if "%select%"=="0" (goto cmd3)
if "%select%"=="1" (goto cmd1)
if "%select%"=="2" (goto cmd2)
echo.
call :ColorText 0c "无效字符,即将退出"
echo.
echo.
goto cmd3

:cmdchoice
set "selectmore="

set/p selectmore=是否查看所有进程(0: 否, 退出,1: 是):

if "%selectmore%"=="0" (goto cmd3)
if "%selectmore%"=="1" (goto cmd2)
echo.
call :ColorText 0c "无效字符,即将退出"
echo.
echo.
goto cmd3

:cmd1
echo 终止进程中...
taskkill /f /pid %PidList%
echo 进程已终止
PAUSE
exit

:cmd2
netstat /ano
goto cmdmain

:cmd3
pause
exit

:ColorText
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值