80端口被 system (pid=4) 系統占用的解決方法,80端口占用后服務器無法運行
80端口一般被當做網頁服務器的默認端口,使用本機搭建服務器環境的時候,都會默認使用80端口來作為網頁訪問端,但是有的時候80端口會被其他的不明身份的程序占用,導致 Apache 啟動失敗,修改 Apache 的默認端口后訪問本機地址又非常麻煩。下面介紹一下如果80端口被占用后應該如何處理。
查找80端口被誰占用的方法
進入命令提示行(開始運行輸入 CMD),輸入命令 netstat -ano|findstr 80
(顯示包含:80的網絡連接) ,就可以看到本機所有端口的使用情況,一般80端口在第一行,截圖顯示,端口已經被占用,PID 中寫明 LISTENING 4。
PID=4 的程序是哪一個呢?接着在命令提示和下輸入指令 tasklist
,列出所有當前運行的進程,
發現 PID=4 的進程,居然是 system 。
- 擴展:也可以通過任務管理器查看PID:
取消 system 進程對80端口的占用
系統占用的端口一般都是微軟官方的產品占用的。所以這個時候主要考慮到幾個服務:
- SQL Server導致。其中很有可能是SQL Server Reporting Services (MSSQLSERVER),它是 SQL Server 的日志系統。
- IIS 服務。如果你電腦安裝了這個,很有可能它在運行着,那么它就占用着80端口
當然如果都不是這兩個原因的話,可以使用下下面的解決方法
關閉方式
關閉方法很簡單,在運行框中輸入 services.msc
,進入服務窗口。或者直接在開始菜單里面的搜索框中輸入“服務”即可打開。然后找到 SQL Server Reporting Services (MSSQLSERVER)
這個服務,然后停止,被占用的80端口就被釋放出來了。你也可以設置它的啟動方式為“禁用”。
對於iis的服務也可以用此方法解決
關閉方式二(針對還是沒辦法解決的)
- 使用管理員身份運行 cmd
net stop http
//停止系統http服務sc config http start= disabled
//禁用服務的自動啟動,此處注意等號后面的空格不可少
這個時候80端口就會被釋放,你可以重啟你的應用程序啦