今天遇見了這個端口被占用問題 然后各種百度 先是說
用命令 netstat -a -n -o 最后一個選項表示連接所在進程id. 找到8080端口的PID然后打開任務管理器, 切換到進程選項卡, 在菜單欄選擇查看->選擇列, 選擇PID. 在列表中找到PID對應的進程就可以了然后發現占用端口的進程的PID為4 可無奈如何關閉都關閉不了這個進程 於是又百度了pid為4的進程 果然找到同樣問題 解決辦法是把world wide web publishing service這個服務關閉就沒事了。pid 4是system保留進程但至於這個進程是干嘛用的還未知 不過再啟動的時候已經可以了 算是解決了這個問題吧
咱還是閑話少說,直接切入正題。
起因:
一直用Tomcat,但是前幾天突然報錯:
java.net.BindException: Address already in use: JVM_Bind:80
第一反應就是80端口被占用了。更改IIS端口,不工作! 停掉IIS,不工作! 停掉IIS Admin還是不工作!
見了鬼了,去網上搜一把,都說是IIS或者迅雷的問題。也有說是IE的問題(也不能說他錯,不過真TMD能扯淡)。我機器上沒有迅雷,於是決定自己動手了...
解決方案:
1.先用命令 netstat -ano 看一下各個端口占用和進程PID(80端口是被3296占用) 。
2.然后在任務管理器里,查看進程。(注意:默認情況下,進程的PID是不顯示的,你在菜單的查看->選擇列里可以選上PID來顯示)
3、后面大家當然知道該怎么做了。當然是大刀闊斧的,把這個進程關閉掉,然后一切正常!!
最后提醒一下,使用netstat 命令查看端口號時,查看的是Local Address 列的端口號。
詳細出處參考:http://www.jb51.net/article/34718.htm