由於項目部署需要在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",這樣我們就可以找到具體的進程名稱了。
一、啟動腳本start.bat
@echo off rem 設置jdk路徑 SET JAVA_HOME="C:\Java\jdk1.7.0_15" rem 重命名javaw.exe為指定名稱 copy "%JAVA_HOME%\bin\javaw.exe" "%JAVA_HOME%\bin\XXX.exe" rem 使用指定名稱的javaw.exe執行jar文件 start "lock-server" "%JAVA_HOME%\bin\XXX.exe" -jar XXX.jar
二、停止腳本stop.bat
taskkill -f -t -im XXX.exe
根據端口號停止服務
@echo off
set port=8090
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do taskkill /pid %%m -t -f
exit
