1. 程式人生 > >【完】80埠被system(pid=4)佔用的解決方法

【完】80埠被system(pid=4)佔用的解決方法

http://www.yelook.com/1450.html

80埠一般被當做網頁伺服器的預設埠,使用本機搭建伺服器環境的時候,都會預設使用80埠來作為網頁訪問端,但是有的時候80埠會被其他的不明身份的程式佔用,導致 Apache 啟動失敗,修改 Apache 的預設埠後訪問本機地址又非常麻煩。下面介紹一下如果80埠被佔用後應該如何處理。

修改 Apache 的預設埠(強迫症不要用)

修改 Apache 埠的方法是最妥協的方法了,後果是當你開啟 Apache 伺服器的時候,訪問的本機地址將會附帶埠號,比如 http://localhost:8888 。

修改方式是直接修改 httpd.conf 檔案,檔案的位置在 Apache 安裝目錄下的 conf 資料夾下,直接用記事本開啟,找到 Listen 80 ,將80修改為其他未被佔用的埠。

注:httpd.conf 檔案中,以#開頭的行是關閉的,不生效的,不以#開頭的行是啟用的。

查詢80埠被誰佔用的方法

進入命令提示行(開始執行輸入 CMD),輸入命令 netstat –ano ,就可以看到本機所有埠的使用情況,一般80埠在第一行,截圖顯示,埠已經被佔用,PID 中寫明 LISTENING 4。

端口占用情況

PID=4 的程式是哪一個呢?接著在命令提示和下輸入指令 tasklist ,列出所有當前執行的程序,

發現 PID=4 的程序,居然是 system 。

系統程序

取消 system 程序對80埠的佔用

其實本身我用的 Apache 好好的,只是突然不能啟動了,回想在此期間新安裝的軟體,面子這麼大,能讓系統佔用80埠的,也只能有 SQL Server 2008 了。經過查詢,發現佔用80埠的確是 SQL Server 2008 裡面的元件——SQL Server Reporting Services (MSSQLSERVER)。是 SQL Server 的日誌系統,就是他好端端的突然佔用了80埠,而且對於普通人來講,這個元件的作用沒啥用,關掉也是節約資源。

關閉方法很簡單,在執行框中輸入 services.msc ,進入服務視窗。或者直接在開始選單裡面的搜尋框中輸入“服務”即可開啟。然後找到 SQL Server Reporting Services (MSSQLSERVER) 這個服務,然後停止,被佔用的80埠就被釋放出來了。你也可以設定它的啟動方式為“禁用”。

SQL Server Reporting Services

看清楚了,就是它。

另外的一個被佔用的原因

除此之外,我還在網上找到了另外80埠被 system 佔用的原因,就是微軟家的 IIS 服務,關閉方式可以去控制面板去關閉即可。

總結原因順便吐槽,最近在學習 java 操作 SQL Server 資料庫,所以請了個大爺進電腦,曾經也因為一些原因安裝過 SQL Server ,兩次的安裝體驗,總感覺微軟家的產品就是 VIP 待遇,安裝就要半個小時,解除安裝也要半個小,時不服不行啊,誰讓 SQL Server 安全高效呢。接下來加油學習吧,騷年們。