最简单 jar包在后台运行,不显示cmd窗口

springboot项目提供了更好的启动方式,内嵌了tomcat。我们只需要java -jar即可启动我们的项目,给我们提供了更方便,更快捷的方法。

最简单 jar包在后台运行,不显示cmd窗口_第1张图片

       但是当我们运行5个以上以后还是会出现一些问题的,比如当请求过多时,会产生缓存。后面的请求请求不进来,需要通过ctrl+z来消除缓存。但毕竟不是长久之计,那么,有没有好的方式来处理呢?

启动

编写脚本,命名为start8081.bat

@echo off
#jre的路径
set path=D:\workspace\soft\false\jre1.8\bin
START "middle" "%path%\javaw" -jar middleware-2.0.0-SNAPSHOT.jar
pause

双击此文件

最简单 jar包在后台运行,不显示cmd窗口_第2张图片

关闭即可。

输入项目路径,可以发现项目已启动。

最简单 jar包在后台运行,不显示cmd窗口_第3张图片

关闭

关闭1:

打开任务管理器,可以看到java进程,如图:

最简单 jar包在后台运行,不显示cmd窗口_第4张图片

选中结束任务即可。

如果只有一个jar包运行,这样关闭是可以的。如果多个,那肯定是不行的。

关闭2:

查看端口占用:netstat -aon|findstr "49157",例如我的是8081

最简单 jar包在后台运行,不显示cmd窗口_第5张图片

记住pid是1192

停止对应端口,taskkill /pid 10764 -f

最简单 jar包在后台运行,不显示cmd窗口_第6张图片

在访问项目地址,已经关闭

最简单 jar包在后台运行,不显示cmd窗口_第7张图片

关闭3:

这样每次查找pid,停止对应端口的pid。如果有十个项目,需要查找并关闭10次。还是觉得麻烦,有没有更好的方法?答:必须有。

编写脚本,命名为stop8081.bat

@echo off
chcp 65001
set port=8081
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

自动寻找相应对口,并关闭。

如果多个,只需要点击对应的启动或关闭即可。

 

你可能感兴趣的:(java,java,部署,jar包)