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
我們來看一下執行結果,首先通過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