windows下启动和中止springboot项目(打好的jar包)

2022-08-28 08:55:41

由于项目部署需要在windows服务器上面,写成bat文件执行xxxx.jar文件,正常我们执行后台命令start %JAVA_HOME%\bin\javaw.exe -jar XXX.jar,是能启动程序,但是后台找到的进程是javaw.exe,如果出现多个jar启动,我们不知道停止那个应用,所以需要对进程起名。

复制,起名

我们使用拷贝javaw.exe重命名的方式:copy "%JAVA_HOME%\bin\javaw.exe" "%JAVA_HOME%\bin\XXX.exe",这样我们就可以找到具体的进程名称了。

或者

直接去java的路径下手动复制一份javaw.exe,然后改名就行。(这里我改成了fulltextretrievalservice.exe)

bat(和jar同目录)

@echo off

::检测后台是否已经在运行
:begin
echo 后台程序运行信息如下:
tasklist  /nh|find /i "javaw.exe"
if ERRORLEVEL 1 (goto activate) else (goto activated)


::如果后台已经在运行,则提示,并询问
:activated
echo.
echo 后台正在运行中...
echo.
echo  请输入以下命令
echo   S       关闭后台(shutdown)
echo   R       重启后台(restart)
echo   E       退出(exit)
echo.
set /p commandActivated=输入您的命令:
if "%commandActivated%"=="S" (goto shutdownService) else if "%commandActivated%"=="R" (goto restartService) else (goto exitCmd)

::关闭后台
:shutdownService
taskkill -f -t -im javaw.exe
echo.
echo 项目已关闭
goto begin


::重启后台
:restartService
taskkill -f -t -im javaw.exe
echo.
echo 项目已关闭
goto startService

::如果后台没有在运行,则提示,并询问
:activate
echo.
echo 后台未运行
echo.
echo  请输入以下命令
echo   S       启动后台(start)
echo   E       退出(exit)
echo.
set /p commandActivate=输入您的命令:
if "%commandActivate%"=="S" (goto startService)  else (goto exitCmd)

::启动后台
:startService
start javaw -jar fulltextretrievalservice-0.0.1-SNAPSHOT.jar 
set countdown=30
for /L %%a in (
%countdown%,-1,0
) do (
echo.
echo 项目正在启动,请不要退出...
echo.
echo %countdown%秒后将自动检查启动情况
echo 还剩余 %%a 秒
ping -n 2 localhost 1>nul 2>nul
cls
)
echo.
echo 后台程序运行信息如下:
tasklist  /nh|find /i "javaw.exe"
if ERRORLEVEL 1 (goto startError) else (goto startSuccess)


::启动失败
:startError
echo.
echo 项目启动失败,请检查相关配置
goto begin

::启动成功
:startSuccess
echo.
echo 项目已启动
goto begin




::退出
:exitCmd
echo.
echo 您可以关闭这个窗口或按任何键将退出
pause > nul

  • 作者:晚安丶
  • 原文链接:https://blog.csdn.net/william_munch/article/details/109774190
    更新时间:2022-08-28 08:55:41