有时候项目部署在windows下容易造成程序“假死”需要手动到服务器上ctrl+z一下,很麻烦,那有没有简单的方法呢?有,那就是像linux一样在后台运行就行了,程序就不会假死了。
1.编写启动脚本
@echo off
set path=C:\Java\jre\bin
START "demo-project" "%path%\javaw" -Dloader.path=totallib -jar web_service-2.0-SNAPSHOT.jar --spring.profiles.active=test &
pause
其中path为windows上jre bin的目录
javaw" -Dloader.path=totallib -jar web_service-2.0-SNAPSHOT.jar --spring.profiles.active=test & 是启动jar包的命令,根据实际情况加上启动参数
然后保存为start.bat即可,注意jar包的所在位置,避免脚本找不到jar包,一般放在和start.bat相同的路径下即可。
2.编写关闭脚本
启动了就要关闭,通过port找到pid然后kill,这里有自动查询pid并kill的脚本
@echo off
chcp 65001
set port= 9050
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
echo kill the process %%m who use the port %port%
echo 正在关闭,请等待 %%m
taskkill /f /pid %%m
)
pause
set port就是你项目的端口,保存为shutdown.bat就可以关闭了。