发布时间:
查找已经在运行 java 项目 #
一、jps #
命令:
jps -l
执行结果:
14464 sun.tools.jps.Jps
21952 com.intellij.idea.Main
6232 org.jetbrains.idea.maven.server.RemoteMavenServer36
22396 xxxxx-admin-api.jar
二、tasklist #
tasklist |findstr "java"
执行结果:
java.exe 6232 Console 1 238,964 K
javaw.exe 22396 Console 1 643,396 K
三、wmic #
wmic process where "name like '%java%'" get ProcessId,CommandLine
执行结果:
rocessId
D:\dev\Java\java64\bin\java.exe ...省略 org.jetbrains.idea.maven.server.RemoteMavenServer36 6232
javaw -Xms256m -Xmx512m -Dloader.path=../../release/api/libs -jar "xxxxx-admin-api.jar" --spring.profiles.active=dev 22396
查找项目启动时的参数 #
ProcessId 进程 ID
wmic process where "ProcessId=22396" get CommandLine
执行结果:
CommandLine
javaw -Xms256m -Xmx512m -Dloader.path=../../release/api/libs -jar "xxxx-admin-api.jar" --spring.profiles.active=dev
启动批处理脚本 #
javaw: 启动项目是可以隐藏 cmd 控制台窗口,类似 Linux nohup,后台运行。
@echo off
chcp 65001
title Java项目启动
:: ====================== 配置区 ======================
set "JAR_PATH=xxxx-admin-api.jar"
set "JAVA_OPTS=-Xms256m -Xmx512m"
set "JAVA_ACTIVE=dev"
set "JAVA_LIBS=../../release/api/libs"
set "LOG_PATH=app.log"
:: ====================================================
echo 正在启动 Java 项目...
echo JAR路径: %JAR_PATH%
if not exist "%JAR_PATH%" (
echo 错误:未找到 jar 文件!
pause
exit /b 1
)
start "JavaApp" javaw %JAVA_OPTS% -Dloader.path=%JAVA_LIBS% -jar "%JAR_PATH%" --spring.profiles.active="%JAVA_ACTIVE%" >> "%LOG_PATH%" 2>&1
echo 启动成功!
pause
停止批处理脚本 #
@echo off
chcp 65001
title Java 停止
:: ====================== 配置区 ======================
set "JAR_PATH=xxxx-admin-api.jar"
:: ====================================================
echo 正在停止进程:%JAR_NAME%
for /f "tokens=1,*" %%i in ('jps -l') do (
echo %%j | find /I "%JAR_NAME%" >nul
if not errorlevel 1 (
echo Killing PID %%i
taskkill /PID %%i /F >nul 2>&1
)
)
echo 停止成功!
pause