windows下启动tomcat时,后台隐藏tomcat启动黑窗 & 解决端口占用

汇总篇:https://blog.csdn.net/weixin_44647371/article/details/100807631

一、隐藏tomcat启动黑窗

场景:
通过tomcat/bin/startup.bat启动时会弹出tomcat控制台黑窗,有时很碍眼,且容易误关闭导致服务器终止的情况
期望隐藏掉控制台黑窗,且 tomcat仍在后台运行

解决办法01

编辑下的tomcat/bin/setclasspath.bat文件,将末尾的

set _RUNJAVA="%JRE_HOME%\bin\java.exe"

改为

set _RUNJAVA="%JRE_HOME%\bin\javaw"  

在这里插入图片描述

然后再重启tomcat即可生效

解决办法02(jdk运行jar包)

将原本运行jar包的命令由

java -jar XXX.jar

改为

javaw -jar xxx.jar 

注:如果最前面start 会使jar包执行后自动关闭黑窗(bat转exe里建议不加)
如需将启动控制台信息导出,可这样配置: javaw -jar XXX.jar > LM日志.log

rem (bat一键启动版)
@echo off
set port=端口号
for /f "tokens=5 " %%i in ('netstat -ano^|findstr ":%port%"') do (
   taskKill /PID %%i  -f
)
echo 【LM】1/2	已解除端口%port%占用
echo 【LM】2/2	正在运行jar包...
start javaw -jar XXX.jar
rem (exe一键启动版对应的bat——原理:端口如果被占用,先停止端口再执行jar包)
@echo off
set port=端口号
for /f "tokens=5 " %%i in ('netstat -ano^|findstr ":%port%"') do (
   taskKill /PID %%i  -f
)
echo 【LM】1/2	已解除端口%port%占用
echo 【LM】2/2	正在运行jar包...
javaw -jar XXX.jar
rem (exe一键启动版对应的bat——原理:如果端口被占用则直接打开页面,不执行jar包)
@echo off
set port=9999
for /f "tokens=5 " %%i in ('netstat -ano^|findstr ":%port%"') do (
rem 端口被占用时,pid大于1,端口闲置时,pid没有或为0
	if %%i GTR 0 (
	echo 端口被占用,正在打开页面...
	start chrome "http://localhost:9999"
rem 下为跳出循环,直接退出黑窗
	goto MYEND
	) 
)
echo 端口闲置中,正在启动服务...
javaw -jar version_tool-0.0.1-SNAPSHOT.jar
:MYEND

二、windows解决端口占用

01.常规方法

#1.查看端口对应的进程pid(最后一列为pid号)
netstat -ano | findstr 端口号	
或者 
netstat -ano | grep 端口号  
#2. 终止对应pid进程的任务
taskkill -PID 进程号 -F 

02.一行命令的方法

FOR /F "tokens=5 delims= " %P IN ('netstat -ano ^| grep 端口号') DO taskKill /PID %P  -F
或者
for /f "tokens=5 delims= " %P IN ('netstat -ano ^| findstr 端口号') DO taskKill /PID %P  -f

03.bat脚本方式

set port=端口号
for /f "tokens=5 " %%i in ('netstat -ano^|findstr ":%port%"') do (
   taskKill /PID %%i  -f
)

参考:
bat中set用法
bat中for基础用法
bat中for中级用法
bat中大于、小于

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值