您的位置:首页 > 科技 > 能源 > 微商网络推广怎么做_宿迁网络科技有限公司_网络服务器的作用_国际实时新闻

微商网络推广怎么做_宿迁网络科技有限公司_网络服务器的作用_国际实时新闻

2025/2/26 6:25:05 来源:https://blog.csdn.net/hjl_and_djj/article/details/145864613  浏览:    关键词:微商网络推广怎么做_宿迁网络科技有限公司_网络服务器的作用_国际实时新闻
微商网络推广怎么做_宿迁网络科技有限公司_网络服务器的作用_国际实时新闻

IDEA关闭SpringBoot程序后仍然占用端口的排查与解决

问题描述
在使用 IntelliJ IDEA 开发 Spring Boot 应用时,有时即使关闭了应用,程序仍然占用端口(例如:4001 端口)。这会导致重新启动应用时出现端口被占用的错误,在windows系统下有时候执行命令netstat -ano | findstr "4001"也无法找到被占用的端口,本文将详细描述如何解决此问题。


1 问题复现

启动springboot应用后,提示端口已经被占用
在这里插入图片描述

2 排查步骤

1 确认端口占用情况
使用以下命令检查哪个进程占用了目标端口:

netstat -ano | findstr :<端口号>

示例:检查 4001 端口是否被占用。

netstat -ano | findstr :4001

正常端口被占用情况下,会显示如下,画框部分13036为应用程序PID
在这里插入图片描述

2 找到占用端口的进程 ID
在win11下可以直接使用任务管理器搜索PID找到占用端口的程序,例如搜索到4001端口被QQ占用

在这里插入图片描述

或者cmd命令框输入如下命令查找

tasklist | findstr "13036"

在这里插入图片描述

3 终止占用端口的进程
直接任务管理器关闭程序
在这里插入图片描述

使用以下命令强制终止该进程:

taskkill /PID <PID> /F

示例:

taskkill /PID 13036 /F

注意:极端情况下,idea运行spirngboot程序时,由于强制关闭或者其他原因,造成java程序没有彻底释放,还在后台运行,导致原java程序始终占用着端口,具体表现为:

启动后端口任被占用在这里插入图片描述 查找被占用的4001端口时,显示空白找不到在这里插入图片描述

  • 解决方法:
    1. 检查是否有残留的 Java 进程:
      tasklist | findstr java
      
    2. 如果发现多余的 Java 进程,强制结束它:
      taskkill /f /pid <PID>
      

在这里插入图片描述

示例:强制删除多余的java线程。

netstat -ano | findstr :22084
netstat -ano | findstr :22320

删除完毕后,重新启动springboot程序,端口占用解除,启动成功。
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com