跳到主要內容

最新資訊

如何查出佔用連接埠(port)的程式(程序)


今天在安裝 Apache Server 時,出現 80 port 被佔用,無法啟動 Apache Server 的情況,納悶著,這台 WindowsXP 我明明沒安裝 IIS 啊,到底 80 port 被哪支程式給佔用了?使用 netstat + 工作管理員,找出原兇,原來是 skype 啊,之前竟然都沒注意過這件事。以下簡單說明一下查詢的方式。



使用 netstat 查看網路連線狀況

先進到命令列模式(開始 -> 所有程式 -> 附屬應用程式 -> 命令提示字元),指令:netstat -abn。參數 a 表示列出所有連線中或 listening的連線;n 表示使用數字形態列出,亦即 http 會以 80 顯示,ftp 會以 21 顯示…;b為列出哪支程式在使用該連接埠;o 則為列出該程式的 PID。以下圖為例,可以看出使用 80 port 的程式為 httpd.exe,即正被 Apache 使用。(update: 2009/03/10)

若上述方式無法找到佔用的程式,可再試著使用下列方法。改下指令:netstat -ano。以下圖為例,可以看出 80 port 正在使用,PID 為 1392。

知道 PID 之後,接著就可以使用『工作管理員』查看該 PID 是由哪一支程式所執行。找到 PID 1392 原來是 Skype.exe。(亦可在命令列模式下,輸入: 『tasklist'指令查詢。
進到 skype 裡查看設定,果然在連線設定看到預設允許其使用 80/443 port 進對外連線。將此勾選移除,再重新啟動 skype,釋放其佔用的 80 port。
如果工作管理員中沒列出 PID 欄位,可自行調整顯示欄位設定。
文章出處:http://wuyy.idv.tw/blog/index.php/inquire-comm-port/

留言

這個網誌中的熱門文章

[解決]米家攝影機記憶卡異常 問題 (小米 智能攝影機 夜視版 1080P 監視器)

[解決] Synology 群輝 (NAS) 1515+ 開機死機 開不了機 現省10萬 Intel C2000 Series Failures

[教學] google play 無法連線,成功解決教學