有時(shí)候一個(gè)程序占用著某個(gè)端口毁靶,但是不知道占用該端口的程序的名稱或者進(jìn)程號(hào)或衡,導(dǎo)致無法停掉這個(gè)程序哆姻。下面就是針對(duì)window和linux兩個(gè)操作系統(tǒng)如何查看某個(gè)端口被哪個(gè)程序或者進(jìn)程所占用。
linux端口占用解決辦法
在linux下查看某個(gè)端口被占用有兩種方法:
-
使用netstat命令
netstat -tunlp 會(huì)顯示所有端口和所有對(duì)應(yīng)的程序填具,如果像得到自己關(guān)系的結(jié)果统舀,可以使用grep對(duì)結(jié)果集進(jìn)行過濾。例如:
netstat -tunlp | grep java
這樣就能過濾出只帶有java進(jìn)程的所有端口被占用的情況誉简。
- 使用lsof -i:某個(gè)端口
使用lsof -i:22,可以查看22號(hào)端口被占用的程序闷串,
通過這個(gè)命令,可以查看到相應(yīng)的進(jìn)程號(hào)筋量,如果還想查看該進(jìn)程的詳細(xì)信息可以使用:
ps -ef | grep 進(jìn)程號(hào)
windows端口被占用解決辦法
查看所有的端口占用情況
netstat -ano
查找指定端口的占用情況
例如查找8080端口:
netstat -ano | findstr "8080"
通過查找端口號(hào)就能找到相應(yīng)的進(jìn)程號(hào)烹吵,通過查找相應(yīng)的進(jìn)程號(hào)就能找到相應(yīng)進(jìn)程的詳細(xì)信息
查看對(duì)應(yīng)PID對(duì)應(yīng)的進(jìn)程
tasklist | findstr "5555"
通過tasklist可以列出具體的進(jìn)程信息
通過進(jìn)程名碉熄,停止進(jìn)程
taskkill /f /t /im xxx.exe
taskkill -PID <進(jìn)程號(hào)> -F //強(qiáng)制關(guān)閉某個(gè)進(jìn)程 ,例如:taskkill -PID 5555 -F
綜上所述: 這樣就可以結(jié)束這個(gè)被占用的端口锈津。