大神們:怎樣快速關閉計算機開發的端口?

tiefe3018


想要快速關閉端口,大概思路是,先找到這個端口關聯的進程PID,然後通過殺死該進程,來關閉端口號。這裡包含windows系統和Linux系統,使用的操作方法類似,windows系統需要使用到BAT腳本來完成,linux系統只需要一條命令就可完成,下面來看一下執行過程。

linux系統

首先使用netstat命令查詢端口比如9007端口,然後通過killall -9 強制殺死進程,如下:

[root@api linux]# netstat -anp|grep 9007

[root@api linux]# killall -9 httpd

或者

[root@api linux]# killall -9 12829

當然,也可以通過一條命令直接殺死進程,如下:

[root@api linux]# netstat -anp|grep :9007|awk -F/ '{print $2}'|xargs killall -9
##首先過濾9007端口綁定的信息,通過awk過濾出進程PID或者進程名稱,如httpd,最後通過xargs命令將過濾出來的字符作為參數傳遞給killall命令,將進程殺死。

windows系統

windows系統同樣也是使用netstat命令查詢端口的PID,只不過參數略有不同,最後taskkill 命令殺死進程,如下:

C:\\Users\\1>netstat -ano|findstr 9007C:\\Users\\1>taskkill /pid 4024 /t /f

如果要快速關閉的話,就需要創建BAT腳本文件,通過定義變量來殺死端口關聯的進程,內容如下。

set port=9007

for /f "tokens=5 " %%a in ('netstat -ano^|findstr %port%') do (

echo %%a

taskkill /pid %%a /t /f

tasklist |findstr %%a

)

pause


##set定義port變量,通過for語句的tokens參數提取字符串,這提取的是第五列,也就是進程PID,最後通過taskkill /pid /t /f強制命令殺死進程和進程包含的子進程。

我們來看一下執行結果,首先通過netstat和findstr命令配合過濾出端口號對應的進程信息,然後使用for語句將信息複製給變量%%a,最後使用taskkill殺死進程PID,如下:

總結,linux系統使用命令直接殺死進程相比windows比較簡單,windows的dos指令略有複雜。

以上回答希望能夠幫助到你,歡迎大家評論留言。


IT大叔Cc


如果是java開發的話,

1.直接關閉tomcat

2.如果還是端口衝突,可以關閉exlipse項目

3.如果還沒成功,可以用cmd 指令

4.雙擊打開

5.管理員身份運行

6.輸入指令:netstat -ano


7.查看端口pid


8.任務管理--找相同PID


分享到:


相關文章: