IDEA關(guān)閉SpringBoot程序后仍然占用端口的排查與解決方法
問(wèn)題描述
在使用 IntelliJ IDEA 開(kāi)發(fā) Spring Boot 應(yīng)用時(shí),有時(shí)即使關(guān)閉了應(yīng)用,程序仍然占用端口(例如:4001 端口)。這會(huì)導(dǎo)致重新啟動(dòng)應(yīng)用時(shí)出現(xiàn)端口被占用的錯(cuò)誤,在windows系統(tǒng)下有時(shí)候執(zhí)行命令netstat -ano | findstr "4001"也無(wú)法找到被占用的端口,本文將詳細(xì)描述如何解決此問(wèn)題。
問(wèn)題復(fù)現(xiàn)
啟動(dòng)springboot應(yīng)用后,提示端口已經(jīng)被占用

排查步驟
1 確認(rèn)端口占用情況
使用以下命令檢查哪個(gè)進(jìn)程占用了目標(biāo)端口:
netstat -ano | findstr :<端口號(hào)>
示例:檢查 4001 端口是否被占用。
netstat -ano | findstr :4001
正常端口被占用情況下,會(huì)顯示如下,畫(huà)框部分13036為應(yīng)用程序PID

2 找到占用端口的進(jìn)程 ID
在win11下可以直接使用任務(wù)管理器搜索PID找到占用端口的程序,例如搜索到4001端口被QQ占用

或者cmd命令框輸入如下命令查找
tasklist | findstr "13036"

3 終止占用端口的進(jìn)程
直接任務(wù)管理器關(guān)閉程序

使用以下命令強(qiáng)制終止該進(jìn)程:
taskkill /PID <PID> /F
示例:
taskkill /PID 13036 /F
注意:極端情況下,idea運(yùn)行spirngboot程序時(shí),由于強(qiáng)制關(guān)閉或者其他原因,造成java程序沒(méi)有徹底釋放,還在后臺(tái)運(yùn)行,導(dǎo)致原java程序始終占用著端口,具體表現(xiàn)為:
啟動(dòng)后端口任被占用

查找被占用的4001端口時(shí),顯示空白找不到

解決方法:
檢查是否有殘留的 Java 進(jìn)程:
tasklist | findstr java
如果發(fā)現(xiàn)多余的 Java 進(jìn)程,強(qiáng)制結(jié)束它:
taskkill /f /pid <PID>

示例:強(qiáng)制刪除多余的java線(xiàn)程。
netstat -ano | findstr :22084 netstat -ano | findstr :22320
刪除完畢后,重新啟動(dòng)springboot程序,端口占用解除,啟動(dòng)成功。

以上就是IDEA關(guān)閉SpringBoot程序后仍然占用端口的排查與解決方法的詳細(xì)內(nèi)容,更多關(guān)于IDEA關(guān)閉SpringBoot程序仍占用端口的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
spring和quartz整合,并簡(jiǎn)單調(diào)用(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇spring和quartz整合,并簡(jiǎn)單調(diào)用(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
如何利用@PreAuthorize注解自定義權(quán)限校驗(yàn)
通過(guò)使用@PreAuthorize注解實(shí)現(xiàn)開(kāi)放接口的權(quán)限校驗(yàn),具體步驟包括開(kāi)啟全局方法安全、編寫(xiě)自定義鑒權(quán)方法、創(chuàng)建自定義異常類(lèi)、在統(tǒng)一異常處理類(lèi)中捕獲異常并處理,最后在需要鑒權(quán)的接口上貼上注解2024-12-12
JavaScript實(shí)現(xiàn)鼠標(biāo)移動(dòng)粒子跟隨效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)鼠標(biāo)移動(dòng)粒子跟隨效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
Java接口和抽象類(lèi)用法實(shí)例總結(jié)
這篇文章主要介紹了Java接口和抽象類(lèi)用法,結(jié)合實(shí)例形式總結(jié)分析了Java接口與抽象類(lèi)的具體定義、使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2015-12-12
JNDI簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了JNDI簡(jiǎn)介,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08

