很多情況下,例如:開發Java有關Socket等網絡通信的程序時,我們利用某個Port進行調試連接是否成功的過程中,會出現java.net.BindException: Address already in use: JVM_Bind 的錯誤。
下面,簡單說明整個解放某個端口的過程(原文章):
一、簡單除暴
- 方法一:重啟電腦(麻煩)(實際上關聯著:重置所有相關的虛擬器)
- 方法二:重啟編譯器(有時會失效)
二、命令行方法
- 首先,調出終端:
* 方法一:Windows鍵+r,輸入cmd
* 方法二:開始-->搜素“cmd”,點擊運行
* 方法三:開始-->運行,輸入cmd
- 終端輸入:netstat -ano
目的:輸出所有被占用的端口
每一列分別表示:協議 | 本地地址 | 外部地址 | 狀態 | PID - 終端輸入:netstat -ano | findstr 1234
目的:輸出所有的1234端口,從而查看最后一列它的PID是多少。
注意:有的電腦會提示:“'netstat '不是內部或外部命令,也不是可運行的程序或者批處理文件”
解決方法:那是因為操作不在系統system32文件夾下,所以只需要輸入:
*cd c:\windows\system32*
回車,然后再接著輸入即可 - 終端輸入:taskkill /f /pid 4567【1234端口對應的PID】
- 成功殺死進程。