Warum lauscht der Systemprozess auf Port 80?

81

Ich verwende Windows 7 RC1. Ich habe mehrere Probleme damit, dass IIS auf meinem System funktioniert. Als ich heute eine neue Anwendung installiert und versucht habe, sie mit http: \ localhost \ MyApplication zu laden, werden absolut keine Fehler und keine Seiten geladen. Nur eine hübsche weiße leere Seite.

Ich habe etwas gegraben und etwas über einen anderen Prozess gefunden, der auf Port 80 lauscht, also habe ich einen Scan mit durchgeführt netstat -aon | findstr 0.0:80und festgestellt, dass PID 4 auf diesem Port lauscht.

PID 4 wird im Task-Manager nicht angezeigt, daher habe ich Process Explorer gestartet und festgestellt, dass PID 4 der Systemprozess ist. (Mehrere Google-Suchanfragen scheinen darauf hinzudeuten, dass das System immer PID 4 verwendet.)

Seitdem stecke ich im Grunde fest. Ich habe keine Ahnung, warum System Port 80 benötigt und was ich dagegen tun soll.

Wenn Sie die folgenden Zeichenfolgen googeln, finden Sie oben in den Suchergebnissen zwei hilfreiche Experts-Exchange-Artikel, in denen Sie hilfreiche Informationen finden.

(Wenn ich die direkte URL zu den Seiten angegeben hätte, würde Experts-Exchange Sie zum Bezahlen auffordern. Wenn Sie jedoch auf die Ergebnisse einer Google-Suche klicken, können Sie ganz nach unten scrollen, um die Börsen zu lesen.)

Hier sind die Google-Suchanfragen ...
"Der Systemprozess lauscht auf Port 80 (Vista)"
"Der Systemprozess lauscht auf Port 80 und verhindert, dass die IIS-Standardwebsite ausgeführt wird"

Der letzte Eintrag aus dem ersten Ergebnis zeigte, wie ein Trace von http.sys unter der folgenden URL erstellt wird:

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

Trace zeigte nichts Nützliches. Irgendwelche Gedanken?

Seth Spearman
quelle
Gleiche Probleme hier, außer dass ich alle Antworten wie vorgeschlagen ausprobiert habe und nichts. Ich kann nicht einfach damit beginnen, Dienste herunterzufahren, da dies ein externer Cloud-Server ist.
Jerry Dodge
Meinten Sie, dass Sie Windows 7 SP1 und nicht RC1 ausführen?
cmorse
4
Führen Sie Skype aus? support.skype.com/de/faq/FA148/…
Plutext
Wahrscheinlich löst das Ihr Problem nicht wirklich, trotzdem können Sie den Apache-Port in ändern 8080... Nun, das ist keine Lösung, kann aber vorübergehend funktionieren, bis Sie die richtige Lösung erhalten ... @rakslice Lösung hat das Problem für mich gelöst
Girardi
Das Skype-Ding ist die Lösung! Fahren Sie Skype herunter und starten Sie Apache. getan!
Codebeat

Antworten:

28

Dieser Beitrag über das Ausführen von Apache auf Port 80 unter Windows 7 (Internetarchiv) beschreibt Ihren Standpunkt.

Anscheinend ist der Dienst ' http.sys' (Windows Remote Management?) In Windows 7 standardmäßig aktiviert.
Lesen Sie die Kommentare zu diesem Link, um weitere Hinweise zu erhalten ...

Die Hypen-Site muss nicht die einzigen Antworten enthalten.

nik
quelle
1
Ein weiterer großartiger Artikel: devside.net/wamp-server/…
thorn
2
Und das ist auch heute noch relevant mit Windows 8.1
Sverrir Sigmundarson
3
Die Seite ist offline. Können Sie der Antwort die wesentlichen Informationen hinzufügen?
Fixer1234
4
Für mich war es der WWW-Veröffentlichungsdienst, der standardmäßig auf Automatisch eingestellt war und Port 80 verwenden muss.
rockerston
1
Von Windows 7 auf Windows 10 aktualisiert und der WWW-Veröffentlichungsdienst auf "Automatisch" geschaltet. Verrückt, weil ich nicht einmal IIS benutze.
Phil_1984_
49

Der 'Web Deployment Agent Service' wird auf Port 80 als System ausgeführt. Möglicherweise wird dies ausgeführt, wenn Sie WebMatrix verwenden.

N Reed
quelle
Weiterführender Link: eat.cheezburger.com/author/johnc . Ich habe die beiden aufgeführten Programme deinstalliert: "Microsft Web Deploy 2.0" und "Web Deployment Tool" (sowie WebMatrix selbst)
Frank Schwieterman
Weiterführender Link: remkoweijnen.nl/blog/2012/01/02/…
Remko
1
Informationen zum Ändern dieses Ports finden Sie unter stackoverflow.com/questions/5867392 .
Tony722
Ich habe den Web Deployment Agent-Dienst gestoppt und auf Manueller Start gesetzt und dann bestätigt, dass ich weiterhin von Visual Studio aus auf diesem Server in IIS veröffentlichen kann und alles in Ordnung ist. Port 80 ist jetzt für mich verfügbar und meine anderen Funktionen funktionieren noch.
JMD
net stop "Web Deployment Agent Service"80 für mich befreit.
Philippe Signoret
46

Öffnen Sie Services.msc und beenden Sie diesen Dienst "SQL Server Reporting Services (MSSQLSERVER)"

Bildbeschreibung hier eingeben

Ich hatte ALLES ausprobiert, aber das hat bei mir funktioniert:

Weitere Anweisungen zum Beenden dieses Dienstes finden Sie weiter unten

  1. Klicken Sie mit der rechten Maustaste auf Arbeitsplatz
  2. Wählen Sie Verwalten
  3. Doppelklicken Sie auf Dienste und Anwendungen
  4. Doppelklicken Sie dann Dienste
  5. Klicken Sie mit der rechten Maustaste auf "SQL Server Reporting Services (MSSQLSERVER)".
  6. Wählen Sie Stop ... und voila, Port 80 wurde freigegeben
Isabel Grobler
quelle
7
+1. Es war in der Tat SQL Server in meinem Fall.
Assaf Levy
Das hat auch bei mir funktioniert. Ich habe alle SQL-bezogenen Dienste (einschließlich dieses) gestoppt und Port 80 wurde freigegeben.
Mark Lakata
+1 aber ich muss SSRS laufen lassen, also schätze ich, dass ich SSRS sagen muss, dass es einen anderen Port verwenden soll?
Chris Moutray
"Diesen Port nicht benutzen? Das nehme ich! Oh, tut mir leid, hast du das gebraucht? Hast du das Memo nicht bekommen?"
batCattle
1
@AssafLevy Ihr Kommentar ist ein schlechter Service für Menschen und Clouds und könnte manche zu der Ansicht bringen, dass die Antwort nicht so gut ist, wie sie ist. Es ist nicht SQL Server, es ist SQL Server Reporting. SQL Server läuft auf 3306. SQL Server Reporting ist das Problem und läuft auf Port 80
Barlop
19

Sie können den HTTP-Dienst vorübergehend über die Befehlszeile anhalten:

  1. Führen Sie eine Administrator-Eingabeaufforderung aus (z. B. Starten, Suchen nach cmd, Klicken mit der rechten Maustaste darauf, Wählen Sie "Als Administrator ausführen" und genehmigen Sie gegebenenfalls die UAC-Eingabeaufforderung.)
  2. Art net stop HTTP
  3. Wenn andere Dienste ausgeführt werden, die vom HTTP-Dienst abhängen, wird eine Liste angezeigt. Überprüfen Sie noch einmal, ob dort etwas aufgeführt ist, auf das Sie nicht verzichten können. Wenn Sie HTTP nur stoppen, um Port 80 vorübergehend zu verwenden, notieren Sie sich die abhängigen Dienste, die Sie neu starten möchten, sobald Sie mit dem Port fertig sind. Wenn es in Ordnung ist, geben Sie yin jedem Fall ein, um fortzufahren.
  4. Einige abhängige Dienste geben möglicherweise Warnungen zur Stoppsteuerung aus, die den Vorgang abbrechen. einfach wiederholen net stop HTTPbis es gestoppt ist (dh bis es sagt The HTTP service was stopped successfully.)
  5. Später können Sie einen der abhängigen Dienste mithilfe net startoder mithilfe des Elements Dienste in den Verwaltungstools neu starten. Der HTTP-Dienst wird dann automatisch neu gestartet.
Rakslice
quelle
1
Dies ist sehr hilfreich, um die abhängigen Dienste zu bestimmen - danke!
Rory
das war die lösung für mich!
Girardi
Für mich wurden alle verwandten Dienste gestoppt, dann "HTTP-Dienst kann nicht gestoppt werden" und beim net stop httperneuten Starten werde ich aufgefordert, "es später erneut zu versuchen". Was ist los mit meinem System :-)
Tominator
Verwenden net stop HTTPhat bei mir funktioniert.
Paul Williams
Wenn Sie eine erhalten try again later message, führen Sie möglicherweise den Microsoft Web Deployment Service aus. support.microsoft.com/kb/2597817 Wenn Sie das tatsächlich zum Warten von IIS verwenden, wollten Sie HTTP wahrscheinlich gar nicht erst stoppen =).
Rakslice
3

telnet localhost 80 gibt HttpAPI / 2.0 zurück, was wiederum "SQL Server Reporting Service" bedeutet. Durch das Stoppen derselben wird Port 80 freigegeben.

vishnu
quelle
Ich fand, dass SQL Server Reporting Services auch der Schuldige war.
JT
Dies ist ein nützliches Debug-Tool, mit dem Sie mithilfe von "Telnet" mehr Informationen abrufen können, als Sie von einem Webbrowser erhalten. Vielen Dank. SQL Server Reporting Services war auch in meinem Fall der Täter.
Mark Lakata
0

Nehmen Sie den ProcessExplorer, führen Sie ihn aus, öffnen Sie die TCP / IP-Eigenschaften aller Prozesse (Dienste), suchen Sie die Prozesse (Dienste), die den http (80) -Port abhören, und schalten Sie ihn aus.

Ich habe festgestellt, dass der Autodesk EDM-Server den http (80) -Port abgehört hat.

NICEsCREAM
quelle
3
Dies funktioniert nicht für Dienste, die innerhalb des Systems ausgeführt werden (dh mit einer PID von 4)
N Reed
Ich denke, Sie sind besser dran, 'netstat -anbo' zu machen. Es wird Ihnen direkt sagen, was sich auf Port 80 befindet ... außer wenn es sich um PID 4 handelt.
Mark Lakata,