疯狂的狮子Li
2024-05-08 bebd9e7a540741cfa0af80a70851efc576728d18
script/bin/ry.bat
@@ -1,67 +1,68 @@
rem 使用者应根据自身平台编码自行转换 防止乱码 例如 win使用gbk编码
@echo off
rem jarƽ��Ŀ¼
rem jar平级目录
set AppName=ruoyi-admin.jar
rem JVM����
set JVM_OPTS="-Dname=%AppName%  -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps  -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
rem JVM参数
set JVM_OPTS="-Dname=%AppName%  -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC"
ECHO.
    ECHO.  [1] ����%AppName%
    ECHO.  [2] �ر�%AppName%
    ECHO.  [3] ����%AppName%
    ECHO.  [4] ����״̬ %AppName%
    ECHO.  [5] �� ��
   ECHO.  [1] 启动%AppName%
   ECHO.  [2] 关闭%AppName%
   ECHO.  [3] 重启%AppName%
   ECHO.  [4] 启动状态 %AppName%
   ECHO.  [5] 退 出
ECHO.
ECHO.������ѡ����Ŀ�����:
ECHO.请输入选择项目的序号:
set /p ID=
    IF "%id%"=="1" GOTO start
    IF "%id%"=="2" GOTO stop
    IF "%id%"=="3" GOTO restart
    IF "%id%"=="4" GOTO status
    IF "%id%"=="5" EXIT
   IF "%id%"=="1" GOTO start
   IF "%id%"=="2" GOTO stop
   IF "%id%"=="3" GOTO restart
   IF "%id%"=="4" GOTO status
   IF "%id%"=="5" EXIT
PAUSE
:start
    for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do (
        set pid=%%a
        set image_name=%%b
    )
    if  defined pid (
        echo %%is running
        PAUSE
    )
      set pid=%%a
      set image_name=%%b
   )
   if  defined pid (
      echo %%is running
      PAUSE
   )
start javaw %JAVA_OPTS% -jar %AppName%
start javaw %JVM_OPTS% -jar %AppName%
echo  starting����
echo  starting……
echo  Start %AppName% success...
goto:eof
rem ����stopͨ��jps�������pid����������
rem 函数stop通过jps命令查找pid并结束进程
:stop
    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% ...
        rem ���ݽ���ID��kill����
        taskkill /f /pid %pid%
    )
   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% ...
      rem 根据进程ID,kill进程
      taskkill /f /pid %pid%
   )
goto:eof
:restart
    call :stop
   call :stop
    call :start
goto:eof
:status
    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% is dead ) else (
        echo %image_name% is running
    )
   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% is dead ) else (
      echo %image_name% is running
   )
goto:eof