題 為什麼System進程在端口80上偵聽?


我正在運行Windows 7 RC1。我有多個問題讓IIS在我的系統上工作,今天當我安裝一個新的應用程序時,我嘗試使用http:\ localhost \ MyApplication加載它我絕對沒有錯誤,我沒有得到頁面加載。只是一個漂亮的白色空白頁面。

我做了一些挖掘,我發現了一些關於端口80監聽的其他進程,所以我使用了掃描 netstat -aon | findstr 0.0:80 並發現PID 4正在偵聽該端口。

PID 4沒有在任務管理器中顯示,因此我啟動了Process Explorer,它向我顯示PID 4是系統進程。 (多個谷歌搜索似乎表明系統總是使用PID 4)。

從那以後我基本上被困住了。我不知道為什麼系統需要端口80以及如何處理它。

如果你谷歌搜索以下字符串,你會在搜索結果的頂部找到兩篇有用的專家交流文章,你可以閱讀它們以獲得一些有用的信息。

(如果我將直接URL提供給頁面,那麼Experts-Exchange會要求您付費...但是當您點擊谷歌搜索的結果時,您可以一直滾動到底部以閱讀交換。)

以下是谷歌搜索...
“系統進程正在偵聽端口80(Vista)”
“SYSTEM進程正在偵聽端口80並防止IIS默認網站運行”

第一個結果的最後一個條目顯示瞭如何在以下URL處跟踪http.sys:

http://blogs.msdn.com/wndp/archive/2007/01/18/event-tracing-in-http-sys-part-1-capturing-a-trace.aspx

Trace顯示沒什麼用處。有什麼想法嗎?


79
2017-09-18 14:25


起源


這裡也有同樣的問題,除了,我按照建議嘗試了所有答案,沒有。我不能只是開始關閉服務,因為這是一個異地雲服務器。 - Jerry Dodge
您的意思是您運行的是Windows 7 SP1,而不是RC1嗎? - cmorse
你在運行Skype嗎? support.skype.com/en/faq/FA148/... - Plutext
可能實際上並沒有解決您的問題,無論如何您可以將Apache端口更改為 8080......好吧,這不是一個解決方案,但可能暫時起作用,直到你得到正確的解決方案...... @rakslice解決方案解決了我的問題 - Girardi
skype的東西是解決方案!關閉Skype並啟動apache。完成了! - Codebeat


答案:


這篇帖子 讓Apache在Windows 7上的端口80上運行 (互聯網檔案)描述了你的觀點。

看來'http.sysWindows 7中默認啟用'(Windows遠程管理?)服務。
瀏覽該鏈接上的評論以獲取更多說明......

超級網站並不一定有唯一的答案。


28
2017-09-18 14:32



另一篇好文章: devside.net/wamp-server/... - thorn
今天,這與Windows 8.1仍然相關 - Sverrir Sigmundarson
該網站已離線。你能在答案中添加基本信息嗎? - fixer1234
對我來說,它是萬維網發布服務 - 默認設置為自動,並且必須使用端口80。 - rockerston
從Windows 7升級到Windows 10,它打開了萬維網發布服務自動。瘋了,因為我甚至不使用IIS。 - Phil_1984_


“Web部署代理服務”在端口80上作為系統運行。如果您使用的是WebMatrix,則可能會運行此功能。


49
2017-09-04 11:49



相關鏈接: eat.cheezburger.com/author/johnc。我卸載了列出的兩個圖:“Microsft Web Deploy 2.0”和“Web Deployment Tool”(以及WebMatrix本身) - Frank Schwieterman
相關鏈接: remkoweijnen.nl/blog/2012/01/02/... - Remko
看到 stackoverflow.com/questions/5867392 有關如何更改此端口的信息。 - tony722
我停止了Web部署代理服務並將其設置為手動啟動,然後確認我仍然可以從Visual Studio發佈到此服務器上的IIS,這一切都很好。現在可以使用端口80,我的其他功能仍然有效。 - JMD
net stop "Web Deployment Agent Service" 為我釋放了80。 - Philippe Signoret


打開Services.msc並停止此服務“Sql server reporting services(MSSQLSERVER)”

enter image description here

我曾嘗試過一切,但這對我有用:

有關如何停止該服務的進一步說明如下

  1. 右鍵單擊 我的電腦
  2. 選擇 管理
  3. 雙擊 服務和應用
  4. 然後雙擊 服務
  5. 右鍵單擊 “Sql server報告服務(MSSQLSERVER)”
  6. 選擇 停止 ......而且,80號港口被釋放了

45
2018-05-14 21:03



+1。在我的案例中確實是SQL Server。 - Assaf Levy
這對我也有用。我停止了所有與SQL相關的服務(包括這一項),並發布了端口80。 - Mark Lakata
+1,但我確實需要SSRS運行,所以我想我要繼續告訴SSRS使用不同的端口? - Chris Moutray
“沒有使用那個端口?我會接受的!哦,對不起你需要那個嗎?你沒有收到備忘錄嗎?” - batCattle
@AssafLevy你的評論是對人和雲事物的傷害,可能會讓人覺得答案不是那麼好。它不是SQL Server,它是SQL服務器報告。 SQL Server在3306上運行.SQL服務器報告就是問題,並在端口80上運行 - barlop


您可以從命令行臨時停止HTTP服務:

  1. 運行管理員命令提示符(例如,開始,搜索 cmd,右鍵單擊它,選擇“以管理員身份運行”,批准UAC提示(如果有)。)
  2. 類型 net stop HTTP
  3. 如果有其他依賴於HTTP服務的運行服務,您將獲得一個列表;仔細檢查一下,看看那裡列出的任何東西都是你無法忍受的。或者,如果您只是暫停HTTP以暫時使用端口80,請記下您在完成端口後要重新啟動的相關服務。無論哪種方式,如果沒關係,請輸入 y接著說。
  4. 某些從屬服務可能會拋出取消操作的停止控制警告;再說一遍 net stop HTTP 直到它停止(即直到它說 The HTTP service was stopped successfully.
  5. 稍後,您可以使用重新啟動任何相關服務 net start 或者使用“管理工具”中的“服務”項,將自動再次啟動HTTP服務。

19
2017-07-01 04:27



這對確定依賴服務非常有幫助 - 謝謝! - Rory
這對我來說是解決方案! - Girardi
對我來說,它停止了所有相關服務,然後說“無法停止HTTP服務”,並開始 net stop http 再次告訴我“稍後再試”。我的系統出了什麼問題:-) - Tominator
運用 net stop HTTP 為我工作。 - Paul Williams
如果你得到了 try again later message,您可能正在運行Microsoft Web部署服務。 support.microsoft.com/kb/2597817 如果您實際上使用它來維護IIS,您可能不希望首先停止HTTP =)。 - rakslice


telnet localhost 80返回HttpAPI / 2.0,這反過來意味著“Sql server reporting service”。停止相同的版本端口80。


3
2018-03-03 15:34



我發現SQL服務器報告服務也是罪魁禍首。 - J.T.
這是一個有用的調試工具,使用'telnet'來獲取比Web瀏覽器提供的更多信息。謝謝。在我的案例中,SQL服務器報告服務也是罪魁禍首。 - Mark Lakata


使用ProcessExplorer,運行它,打開每個進程(服務)的TCP / IP屬性,找到偵聽http(80)端口的進程(服務)並將其關閉。

我發現Autodesk EDM Server正在偵聽http(80)端口。


0
2018-01-29 06:43



這不適用於在系統內運行的服務(即PID為4) - N Reed
我認為你最好做'netstat -anbo'。它將直接告訴你端口80上的內容......除非它是PID 4。 - Mark Lakata