Le port 80 est utilisé par SYSTEM (PID 4), qu'est-ce que c'est?

345

J'essaie d'utiliser le port 80 pour mon serveur d'applications, mais lorsque j'exécute, netstat -aonj'obtiens:

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4

Quand je regarde le processus dans le gestionnaire de tâches, il montre PID 4est SYSTEM, c'est tout. Pas d'extension ... rien. Juste " SYSTEM". Que se passe t-il ici?

J'ai peur de mettre fin à ce processus, que dois-je faire?


MISE À JOUR :

J'ai résolu cela grâce à une autre question Stack Overflow , qui avait la solution pour que IIS cesse d'écouter sur le port 80 pour une adresse IP spécifiée.

GiH
la source
1
Pour les futurs lecteurs, il devrait être utile de lire serverfault.com/questions/65717/… afin de comprendre pourquoi certaines des réponses publiées ci-dessous ont fonctionné (mais aucune des réponses n'est entrée dans le niveau de détails).
Lex Li

Réponses:

37

l'adresse IP est 0.0.0.0, state = LISTENING: signifie que le port 80 écoute toutes les interfaces (non utilisé)

Comment lire les résultats de NETSTAT -AN:

manji
la source
61
"signifie que le port 80 écoute toutes les interfaces (non utilisées)" pas exactement - le service "World Wide Web Publishing Service" écoutait sur ce port. Une fois que vous l'arrêtez manuellement, vous pouvez libérer ce port (au moins dans Windows 7)
despot
33
Juste pour clarifier, World Wide Web Publishing Service est W3SVC. Arrêter ce service résout mon problème.
daniel__
20
Arrêter et désactiver le service W3SVC fonctionne aussi pour moi: sc stop w3svcalorssc config w3svc start= disabled
dugloon
1
Ce lien ( devside.net/wamp-server/… ) m'a aidé à réduire les coupables et enfin à trouver ce que je cherchais. De façon ennuyeuse, ce post stackoverflow n'a pas surgi dans mes recherches jusqu'à ce que je le résolve.
DangerPaws
3
ECOUTER signifie utiliser. Cela signifie qu'il existe un processus utilisant ce port spécifique, en attente d'appels entrants. J'essayais de démarrer le site Web par défaut et IIS m'a dit qu'il y avait un autre processus utilisant le port 80. La réponse la plus votée - celle concernant «Web Deployment Agent Service» (MsDepSvc) - est une meilleure explication de ce qui se passe.
Mircea Ion
285

Un nouveau service appelé "Web Deployment Agent Service" (MsDepSvc) peut également déclencher "System" avec PID = 4 pour écouter sur le port 80.

Antony
la source
4
J'ai eu exactement le même problème que l'affiche originale. La réponse d'Antony a résolu mon problème car je n'avais pas de services de rapports en cours d'exécution. J'avais récemment installé WebMatrix, alors peut-être que "Web Deployment Agent Service" a été installé dans le cadre de ce package. Quoi qu'il en soit, l'arrêt de ce service a libéré le port 80. Prendre le port 80 comme ça me semble assez effronté.
voam
7
WebMatrix semble être le problème ici
Jonathan
5
Oui, je peux confirmer avec Jonathan qu'après l'installation de WebMatrix (et de ses dépendances via Microsoft Web Platform Installer), le service "Web Deployment Agent Service" apparaît. Ce n'est en effet pas une conception très conviviale d'utiliser le port 80, surtout si vous exécutez également le serveur Apache / IIS sur la même boîte.
Antony
Pour arrêter temporairement MsDepSvc, accédez à Exécuter -> "Services.msc", cliquez avec le bouton droit sur Service d'agent de déploiement Web, cliquez sur Arrêter.
timofey.com
Vous pouvez modifier l'URL de MsDepSvc (Web Deployment Agent Service) ici: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ MsDepSvc \ Parameters
Grynn
251

Il existe de nombreux services, qui peuvent écouter le port 80 sur Windows.

Heureusement, vous pouvez les détecter et les arrêter tous en exécutant une simple commande de console:

NET stop HTTP

Lorsque vous le lancerez, vous obtiendrez d'abord la liste: entrez la description de l'image ici

Pour éviter ce problème à l'avenir, accédez aux services locaux et désactivez les services répertoriés .

NB - Certains services redémarrent immédiatement, exécutez simplement 'NET stop HTTP' plusieurs fois .

Anton Purin
la source
3
REMARQUE ... exécutez cmd en tant qu'administrateur
boi_echos
3
Cela arrêtera également le service de spouleur qui est responsable des imprimantes.
Rahman
7
J'ai manqué le fait subtil que l'on vous présente d'abord une liste des services en cours d'exécution et le choix de continuer à les arrêter. Cela m'a permis de voir ce qui fonctionnait, de choisir de ne pas les arrêter tous, puis de trouver le service suspect dans mon panneau Services, de l'arrêter et de le définir sur manuel. La solution d'Anton est excellente. Facile à mémoriser et à utiliser.
Perry Tew
1
@barlop c'est une façon vraiment étrange de réagir aux gens qui essaient de vous aider
Anton Purin
2
De meilleures commandes pour trouver le coupable: netsh http show urlaclet netsh http show servicestate(recherchez toutes celles avec: 80 en elles.) Source: devside.net/wamp-server/…
Ayub
241

Essayez également d'arrêter «SQL Server Reporting Services (MSSQLSERVER)», qui par défaut semble être 80. Je l'ai fait et le port 80 a été libéré. PID a identifié le coupable comme "Système", mais apparemment ce Système peut signifier plusieurs choses.

infocyde
la source
5
SQL Server Reporting Services écoutait également sur le port 80 sur mon système. Merci!
afournier
2
J'ai commencé à voir ce port 80 après avoir installé le serveur MSSql et je ne l'ai pas réalisé jusqu'à ce que je vois votre solution. Après avoir arrêté le service, tout va bien maintenant. THX.
Damodar Bashyal
4
Modifiez «URL du service Web» ET «URL du portail Web» dans «Reporting Services Configuration Manager» pour, disons, le port 82 :-)
François Breton
87

J'ai eu le même problème. Pourrait y remédier en arrêtant le service de publication World Wide Web sous les services en cours d'exécution.

Jules Colle
la source
grands travaux en arrêtant l'agent de service de déploiement Web dans les services sur Windows 7 Professional.
user606669
Cela fonctionne, mais empêche également d'héberger des sites sur d'autres ports via IIS.
cchamberlain
Cela n'a pas fonctionné pour moi sur Windows Server 2012 R2. Apparemment, le service n'existe même pas, je ne peux donc pas terminer le processus.
Martin Erlic
30

Il semble que IIS écoute le port 80 pour les requêtes HTTP.

Essayez d'arrêter IIS en accédant à Panneau de configuration / Outils d'administration / Services d'informations Internet, en cliquant avec le bouton droit sur Site Web par défaut et en cliquant sur l'option Arrêter dans le menu contextuel, et voyez si l'écouteur sur le port 80 s'est effacé.

Robert Harvey
la source
C'était sur mon système l'IIS, mais le nom des services était "WWW-Publishingdienst" (un allemand?)
Olivier Faucheux
28

Cela fonctionne pour moi:

  1. Faites un clic droit sur Poste de travail .
  2. Sélectionnez Gérer .
  3. Double-cliquez sur Services et applications .
  4. Double-cliquez ensuite sur Services .
  5. Faites un clic droit sur " Service de publication World Wide Web ".
  6. Sélectionnez Arrêter .
Eng.Fouad
la source
1
Pour l'étape 5, mon problème était avec SQL Server Reporting Service. J'ai désactivé cela et le problème est résolu. J'ai désactivé les services de publication WWW auparavant, mais cela n'a pas résolu le problème.
Auguste
ReportServer $ SQLEXPRESSS2016 faisait cela sur mon PC.
Liam Mitchell
25

J'ai découvert que «SQL Server Reporting Services (MSSQLSERVER)» démarre automatiquement et écoute sur le port 80.

J'espère que ça aide.

O

Omeriko
la source
23

SOLUTION DE TRAVAIL TESTÉE: (WINDOWS 10)

Il y a plusieurs raisons à cela, la seule cause / solution que j'ai recommandée est la suivante:

OUVREZ VOTRE COMMANDE DE FENÊTRE AVEC L'ADMINISTRATEUR PREVILÈGE PUIS:

net stop http /y

ce qui précède acceptera alors d'arrêter le service http:

sc config http start= disabled

ce qui précède configurera le service pour désactiver par défaut

SI LA SOLUTION CI-DESSUS NE FONCTIONNE PAS, TROUVEZ VOTRE CAS SPÉCIFIQUE ICI:

SOURCE: http://www.devside.net/wamp-server/opening-up-port-80-for-apache-to-use-on-windows

REDÉMARREZ VOTRE SERVEUR WEB / XAMPP / APACHE ET TERMINÉ.


Si vous avez besoin de réactiver la valeur par défaut, voici la commande, sc config HTTP start= demandla source de l'explication est ici http://servicedefaults.com/10/http/

Fumier
la source
15

Un autre service qui pourrait occuper le port 80 est BranchCache

services.msc l'affichant comme "BranchCache"

ou utilisez la commande net pour arrêter le service comme

arrêt net PeerDistSvc

Mise à jour:

PeerDistSvc est un service derrière svhost.exe, pour afficher le type de services svchost

tasklist / svc / fi "imagename eq svchost.exe"

seizu
la source
cela a également fonctionné pour moi - la description du service dit: BranchCache - Ce service met en cache le contenu réseau des pairs sur le sous-réseau local.
xorcus
Cet article a résolu mon problème avec BranchCache
Amit Beckenstein
8

Je savais que ces réponses étaient exactes, mais mon services.msc ne montrait pas les services, mais cela a fait l'affaire:

sc stop "MsDepSvc" 
sc config "MsDepSvc" start= disabled 
isJustMe
la source
5

Cela peut être très facilement résolu en suivant ces cinq étapes:

  1. Services ouverts
  2. Clic droit sur le service de publication sur le World Wide Web
  3. Cliquez sur STOP

Pour éviter ce problème à l'avenir:

  1. Accéder aux propriétés
  2. Changer le type de démarrage en manuel

Viola u est bon pour aller!

Arun Joshla
la source
1
Exactement ce dont j'ai besoin. Je vous remercie.
Dang Cong Duong
4

Je viens d'avoir ce problème aujourd'hui, car il est apparu après que Norton a demandé un redémarrage, j'ai blâmé Norton.
Mais ce n'était pas Norton, j'ai supprimé Norton, redémarré -> problème toujours là.

netstat -nao montrait que PID 4 possédait ma connexion au port 80.

Je suis ensuite allé dans le panneau de configuration, puis "Activer ou désactiver les fonctionnalités de Windows", puis décochez Internet Information Services.
Redémarré, le problème a disparu.
Mon serveur xampp fonctionne maintenant correctement.

Je ne me souviens jamais avoir activé IIS en premier lieu. J'avais couru plusieurs mois avant que cela ne se produise. Je ne sais toujours pas ce qui l'a causé en premier lieu. Peut-être qu'une précédente mise à jour de Windows a activé iis et que mon redémarrage l'a activée, je ne sais pas.

godzilla
la source
4

Ce processus fonctionne pour moi:

  1. Faites un clic droit sur Poste de travail.
  2. Sélectionnez Gérer.
  3. Double-cliquez sur Services et applications.
  4. Double-cliquez ensuite sur Services.
  5. Faites un clic droit sur "Service de publication World Wide Web".
  6. Sélectionnez Arrêter
  7. Redémarrez XAMPP
Manideep
la source
3

J'ai eu ce même problème exact, sauf que je n'ai jamais utilisé IIS. Pendant que je corrigeais un autre bogue système, j'avais réglé le service apache sur un démarrage manuel, dans l'espoir de réduire la complexité de mon système. Après avoir corrigé l'autre bogue, apache ne démarre pas. J'ai été futz pendant un certain temps, mais tout ce qu'il a fallu était de remettre apache au démarrage automatique: Démarrer> Outils d'administration> Services.

Apparemment, quand Apache démarre de cette façon, il revendique le port 80 avant le processus SYSTEM.

hth quelqu'un. tout mon googling s'est avéré "ne peut pas avoir IIS et Apache sur la même machine." c'est pour l'autre un pour cent d'entre nous.

changokun
la source
2

Essayez netstat -b, qui peut, espérons-le, éclairer la situation (en montrant ce que .exe utilise le port). Bonne chance.

Jon Onstott
la source
il n'apparaissait même pas dans netstat -b, bizarre, mais de toute façon je l'ai résolu, recherchez la mise à jour.
GiH
-1 PID de 4 inutile. C: \ blah> netstat -abon | de plus "Active Connections TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4 Can not obtain ownership information" et après avoir cliqué sur «afficher les processus de tous les utilisateurs» dans le gestionnaire de tâches de Windows 7, le gestionnaire de tâches répertorie «Système» pour un PID de 4.
barlop
2

Pour moi, cela a fonctionné après l'arrêt du service d'agent de déploiement Web.

danpop
la source
2

Si vous utilisez le produit Razer et installez le logiciel Razer Synapse sur votre PC, il bloque également le port 80.

Il n'est pas inclus dans la netstatcommande, je ne peux donc pas le dépanner. Puisqu'il existe de nombreux services inclus dans le logiciel, je ne peux pas analyser celui qui bloque le port. Après avoir désinstallé Razer Synapse, je peux redémarrer le serveur Apache sous Windows 10.

maurisrx
la source
Merci, je pense que c'est le Razer Chroma SDK Server. Je l'ai désactivé dans msconfig et cela a résolu le problème pour moi!
Stefan
1

Cela n'expliquerait pas le côté PID des choses, mais si vous exécutez Skype, il aime utiliser le port 80 pour une raison quelconque.

davidtbernal
la source
Je suis confronté au même problème, le port 80 est acquis par NT Kernal. Mais lorsque j'exécute Apache sur le port 80, c'est le cas (lorsqu'il est configuré en tant que service d'exécution au démarrage). Mais lorsque j'arrête Apache et essaie d'exécuter Tomcat sur le port 80, Windows 7 ne le permet pas. Le noyau NT ou Skype ne doit pas utiliser le port de serveur Web standard.
Asif Shahzad
vous pouvez modifier les ports par défaut de skype à partir de ses paramètres de «connexion»
Zee
1

Dans mon cas, cela s'est produit après l'installation de Microsoft Web Matrix. La désinstallation de cette corbeille avec "Microsoft Web Deploy" a résolu le problème.

laurent
la source
1

Je cherchais le PID 4 et suis venu à cette question. À partir de cette réponse et d'un article de blog, je me suis dit que tout ce qui avait à voir avec PID 4 était probablement un service Windows, donc vous voudrez peut-être rechercher les services pertinents dans services.msc.

En outre, ce processus est exécuté par System, qui est considéré comme un autre utilisateur "connecté".

Eau glacée
la source
1

J'ai eu le même problème et c'était à cause d'IIS fonctionnant sur le serveur, vous pouvez l'arrêter en utilisant IIS Manager si c'est le cas pour vous.

Kamiel Ahmadpour
la source
1

J'ai arrêté le service de publication World Wide Web, puis cela a fonctionné.

KnuturO
la source
1

Rien de tout cela n'a fonctionné pour moi. J'ai dû aller à une question SuperUser .

S'il s'agit d'un processus système (PID 4), vous devez désactiver le pilote HTTP.sys qui est démarré à la demande par un autre service, tel que Windows Remote Management ou Print Spooler sous Windows 7 ou 2008.

Il existe deux façons de le désactiver, mais la première est plus sûre:

    • Allez dans le gestionnaire de périphériques, sélectionnez «afficher les périphériques cachés» dans le menu / vue, allez dans «Pilote non Plug-and-Play» / HTTP, double-cliquez dessus pour le désactiver (ou définissez-le sur manuel, certains services en dépendent).

    • Redémarrez et utilisez netstat -nao | find ":80"pour vérifier si 80 est toujours utilisé.

C'est celui qui a fonctionné pour moi!

jason.zissman
la source
Vous voudrez peut-être ajouter la deuxième façon, plus dangereuse, de le désactiver, pour être complet.
icedwater
0

Pour moi, j'ai dû désinstaller "Citrix Virtual Desktop Agent" sur ma machine virtuelle

Jerinaw
la source
GoToMeeting est également CitrixOnline, il suffit de désinstaller
KingRider
0

PID = 4 n'apparaît pas dans le Gestionnaire des tâches même après avoir coché la case "Afficher les processus de tous les utilisateurs". Eh bien, il n'y a qu'un seul utilisateur.

Cependant, netstat -b affiche plusieurs connexions poitant vers le même PID = 4 qui sur cet ordinateur affichait ce qui suit.

entrez la description de l'image ici

Je n'ai choisi que ceux relatifs au protocole TCP.

Cela a été acquis lors du dépannage d'IIS qui n'a pas commencé après avoir essayé de nombreux autres. Je ne pense pas que vous devriez arrêter ce processus.

user2063329
la source
0

type netstat -a -n -b -o |more

si l'arrêt World Wide Web Publishing Serviceaide

puis dans IIS Manager revue de chaque site bindings paramètres, en sélectionnant un site et sur le panneau latéral , cliquez sur la liaison. puis changez le port 80 en autre chose si nécessaire.

Shimon Doodkin
la source