El sistema utiliza el puerto 80 (PID 4), ¿qué es eso?

345

Estoy tratando de usar el puerto 80 para mi servidor de aplicaciones, pero cuando lo realizo netstat -aonobtengo:

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4

Cuando busco el proceso en el administrador de tareas, muestra que PID 4es SYSTEM, eso es todo. Sin extensión ... nada. Solo " SYSTEM". ¿Que está pasando aqui?

Tengo miedo de terminar este proceso, ¿qué hago?


ACTUALIZACIÓN :

Lo resolví a través de otra pregunta de Stack Overflow , que tenía la solución para que IIS dejara de escuchar en el puerto 80 para una dirección IP especificada.

GiH
fuente
1
Para futuros lectores, debería ser beneficioso leer serverfault.com/questions/65717/… para entender por qué algunas de las respuestas publicadas a continuación funcionaron (pero ninguna de las respuestas entró en el nivel de detalles).
Lex Li

Respuestas:

37

la dirección IP es 0.0.0.0, estado = ESCUCHAR: significa que el puerto 80 está escuchando todas las interfaces (no se usa)

Cómo leer los resultados de NETSTAT -AN:

manji
fuente
61
"significa que el puerto 80 está escuchando todas las interfaces (no se usa)" no exactamente: el servicio "Servicio de publicación World Wide Web" estaba escuchando en este puerto. Una vez que lo detenga manualmente, puede liberar ese puerto (al menos en Windows 7)
despot el
33
Solo para aclarar, el servicio de publicación World Wide Web es W3SVC. Detener este servicio resuelve mi problema.
daniel__
20
Parar e inhabilitar el servicio W3SVC también funciona para mí: sc stop w3svcentoncessc config w3svc start= disabled
dugloon
1
Este enlace ( devside.net/wamp-server/… ) me ayudó a reducir los culpables y finalmente encontrar lo que estaba buscando. Molestamente, esta publicación de stackoverflow no apareció en mis búsquedas hasta que la resolví.
DangerPaws el
3
ESCUCHAR significa utilizado. Significa que hay un proceso usando ese puerto específico, esperando llamadas entrantes. Estaba tratando de iniciar el Sitio web predeterminado e IIS me dijo que hay otro proceso que usa el puerto 80. La respuesta más votada, la del "Servicio de agente de implementación web" (MsDepSvc), es una mejor explicación de lo que está sucediendo.
Mircea Ion
285

Un nuevo servicio llamado "Servicio de agente de implementación web" (MsDepSvc) también puede activar "Sistema" con PID = 4 para escuchar en el puerto 80.

Antonio
fuente
44
Tuve exactamente el mismo problema que el póster original. La respuesta de Antony resolvió mi problema ya que no tenía servicios de informes en ejecución. Recientemente instalé WebMatrix, por lo que tal vez se instaló el "Servicio de agente de implementación web" como parte de ese paquete. En cualquier caso, detener ese servicio liberó el puerto 80. Para mí, tomar el puerto 80 así me parece descarado.
Voam
77
WebMatrix parece ser el problema aquí
Jonathan
55
Sí, puedo confirmar con Jonathan que después de instalar WebMatrix (y sus dependencias a través del Instalador de plataforma web de Microsoft), aparece el servicio "Servicio de agente de implementación web". De hecho, no es un diseño muy amigable usar el puerto 80, especialmente si también ejecuta el servidor Apache / IIS en la misma caja.
Antony
Para detener temporalmente MsDepSvc, vaya a Ejecutar -> "Services.msc", haga clic con el botón derecho en Servicio de agente de implementación web, haga clic en Detener.
timofey.com
Puede cambiar la URL de MsDepSvc (Servicio de agente de implementación web) aquí: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ MsDepSvc \ Parameters
Grynn
251

Hay muchos servicios, que pueden escuchar el puerto 80 en Windows.

Afortunadamente, puedes detectarlos y detenerlos a todos ejecutando un comando de consola simple:

NET stop HTTP

Cuando lo comience, primero obtendrá la lista: ingrese la descripción de la imagen aquí

Para evitar este problema en el futuro, vaya a Servicios locales y desactive los servicios enumerados .

NB : algunos servicios se reiniciarán inmediatamente, solo ejecute 'NET stop HTTP' varias veces .

Anton Purin
fuente
3
NOTA ... ejecute cmd como administrador
boi_echos
3
También detendrá el servicio de cola que es responsable de las impresoras.
Rahman
77
Eché de menos el sutil hecho de que primero se te presenta una lista de servicios en ejecución y la opción de continuar con la detención de ellos. Esto me permitió ver lo que se estaba ejecutando, elegir no detenerlos a todos, y luego encontrar el servicio sospechoso en mi panel de Servicios, detenerlo y configurarlo en manual. La solución de Anton es genial. Fácil de recordar y usar.
Perry Tew
1
@barlop, esta es una forma realmente extraña de reaccionar ante las personas que intentan ayudarte
Anton Purin
2
Mejores comandos para encontrar al culpable: netsh http show urlacly netsh http show servicestate(busque todos aquellos con: 80 en ellos.) Fuente: devside.net/wamp-server/…
Ayub
241

Además, intente detener "SQL Server Reporting Services (MSSQLSERVER)", que por defecto parece ser 80. Lo hice y el puerto 80 se liberó. PID identificó al culpable como "Sistema", pero aparentemente ese Sistema puede significar múltiples cosas.

infocyde
fuente
55
SQL Server Reporting Services también estaba escuchando en el puerto 80 de mi sistema. ¡Gracias!
afournier
2
Comencé a ver este puerto 80 después de instalar el servidor MSSql y no me di cuenta hasta que vi su solución. Después de detener el servicio todo bien ahora. Gracias.
Damodar Bashyal
44
Cambie "URL del servicio web" Y "URL del portal web" en "Administrador de configuración de Reporting Services" para, digamos, el puerto 82 :-)
François Breton
87

Yo tuve el mismo problema. Podría solucionarlo deteniendo el Servicio de publicación World Wide Web en los servicios en ejecución.

Jules Colle
fuente
grandes trabajos al detener el agente de servicio de implementación web en servicios en Windows 7 Professional.
user606669
Esto funciona pero también detiene mi capacidad de alojar sitios en otros puertos a través de IIS.
cchamberlain
Esto no funcionó para mí en Windows Server 2012 R2. Aparentemente, el servicio ni siquiera existe, por lo que no puedo finalizar el proceso.
Martin Erlic
30

Parece que IIS está escuchando el puerto 80 para solicitudes HTTP.

Intente detener IIS yendo al Panel de control / Herramientas administrativas / Servicios de información de Internet, haciendo clic con el botón derecho en Sitio web predeterminado y haciendo clic en la opción Detener en el menú emergente, y vea si el oyente en el puerto 80 se ha borrado.

Robert Harvey
fuente
Estaba en mi sistema el IIS, pero el nombre de los servicios era "WWW-Publishingdienst" (¿alemán?)
Olivier Faucheux
28

Esto funciona para mi:

  1. Haga clic derecho en mi computadora .
  2. Seleccione Administrar .
  3. Haga doble clic en Servicios y aplicaciones .
  4. Luego haga doble clic en Servicios .
  5. Haga clic derecho en " Servicio de publicación World Wide Web ".
  6. Selecciona Parar .
Eng.Fouad
fuente
1
Para el paso 5, mi problema fue con SQL Server Reporting Service. Apagué eso y el problema está resuelto. Apagué los servicios de publicación WWW antes, pero eso no resolvió el problema.
Auguste
ReportServer $ SQLEXPRESSS2016 estaba haciendo esto en mi PC.
Liam Mitchell
25

Descubrí que "SQL Server Reporting Services (MSSQLSERVER)" se inicia automáticamente y escucha en el puerto 80.

Espero que esto ayude.

O

Omeriko
fuente
23

SOLUCIÓN DE TRABAJO PROBADA: (VENTANAS 10)

Hay muchas razones para esto, la única causa / solución que recomendé es esta:

ABRE SU COMANDO DE VENTANA CON EL ADMINISTRADOR PREVILEGE LUEGO:

net stop http /y

lo anterior aceptará detener el servicio http y luego:

sc config http start= disabled

lo anterior configurará el servicio para deshabilitar por defecto

SI ARRIBA LA SOLUCIÓN NO FUNCIONA ENCUENTRE SU CASO ESPECÍFICO AQUÍ:

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

REINICIE SU SERVIDOR WEB / XAMPP / APACHE Y HECHO.


Si alguna vez necesita volver a habilitar el valor predeterminado aquí, el comando es sc config HTTP start= demandla fuente de explicación aquí http://servicedefaults.com/10/http/

Estiércol
fuente
15

Otro servicio que podría ocupar el puerto 80 es BranchCache

services.msc lo muestra como "BranchCache"

o use el comando net para detener el servicio como

parada neta PeerDistSvc

Actualizar:

PeerDistSvc es un servicio detrás de svhost.exe, para ver el tipo de servicios svchost

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

seizu
fuente
esto también funcionó para mí: la descripción del servicio dice: BranchCache: este servicio almacena en caché el contenido de la red de sus pares en la subred local.
xorcus
Este artículo resolvió mi problema con BranchCache
Amit Beckenstein
8

Sabía que estas respuestas eran correctas, pero my services.msc no mostraba los servicios, sin embargo, esto funcionó:

sc stop "MsDepSvc" 
sc config "MsDepSvc" start= disabled 
isJustMe
fuente
5

Esto se puede solucionar fácilmente siguiendo estos cinco pasos:

  1. Servicios abiertos
  2. Haga clic derecho en el Servicio de publicación World Wide Web
  3. Haga clic en STOP

Para evitar este problema en el futuro:

  1. Ir a propiedades
  2. Cambiar el tipo de inicio a manual

¡Viola, estás listo para irte!

Arun Joshla
fuente
1
Exactamente lo que necesito. Gracias.
Dang Cong Duong
4

Acabo de recibir este problema hoy, ya que apareció después de que Norton solicitó reiniciar, culpé a Norton.
Pero no fue Norton, eliminé Norton, reinicié -> el problema sigue ahí.

netstat -nao estaba mostrando que PID 4 era dueño de mi conexión del puerto 80.

Luego fui al panel de control, luego "Activar o desactivar las características de Windows" y luego desmarqué Internet Information Services.
Reiniciado, el problema desapareció.
Mi servidor xampp está funcionando bien ahora.

No recuerdo haber activado IIS en primer lugar. Había estado corriendo muchos meses antes de que esto sucediera. Todavía no sé qué lo causó en primer lugar. Tal vez una actualización anterior de Windows habilitó iis y mi reinicio lo activó, no lo sé.

Godzilla
fuente
4

Este proceso funciona para mí:

  1. Haga clic derecho en Mi PC.
  2. Selecciona Administrar.
  3. Haga doble clic en Servicios y aplicaciones.
  4. Luego haga doble clic en Servicios.
  5. Haga clic derecho en "Servicio de publicación World Wide Web".
  6. Selecciona Parar
  7. Reiniciar XAMPP
Manideep
fuente
3

Tuve el mismo problema exacto, excepto que nunca he usado IIS. Mientras arreglaba otro error del sistema, configuré el servicio apache para iniciarlo manualmente, con la esperanza de reducir la complejidad de mi sistema. Después de que solucioné el otro error, apache no comenzó. Estuve inmóvil por un tiempo, pero todo lo que necesité fue volver a configurar Apache para que comenzara automáticamente: Inicio> Herramientas administrativas> Servicios.

Aparentemente, cuando Apache comienza de esta manera, reclama el puerto 80 antes que el proceso SYSTEM.

hth alguien. todas mis búsquedas en Google aparecieron "no puedo tener IIS y Apache en la misma máquina". esto es para el otro uno por ciento de nosotros.

changokun
fuente
2

Pruebe netstat -b, que con suerte arrojará algo de luz sobre la situación (que muestra qué .exe está utilizando el puerto). Buena suerte.

Jon Onstott
fuente
ni siquiera se mostraba en netstat -b, extraño, pero de todos modos lo he resuelto, busque la actualización.
GiH
-1 PID de 4 sin uso. C: \ blah> netstat -abon | más "Active Connections TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4 Can not obtain ownership information" y después de hacer clic en "Mostrar procesos de todos los usuarios" en el administrador de tareas de Windows 7, el administrador de tareas enumera "Sistema" para PID de 4.
barlop
2

Para mí funcionó después de detener el Servicio del Agente de implementación web.

danpop
fuente
2

En caso de que use el producto Razer e instale el software Razer Synapse en su PC, también bloquea el puerto 80.

No está incluido en el netstatcomando, por lo que no puedo solucionarlo. Como hay muchos servicios incluidos dentro del software, no puedo analizar cuál bloquea el puerto. Después de desinstalar Razer Synapse, puedo iniciar el servidor Apache nuevamente en Windows 10.

maurisrx
fuente
Gracias, creo que es el servidor Razer Chroma SDK. ¡Lo deshabilité en msconfig y eso resolvió el problema para mí!
Stefan
1

Esto no explicaría el lado PID de las cosas, pero si ejecuta Skype, le gusta usar el Puerto 80 por alguna razón.

davidtbernal
fuente
Estoy enfrentando el mismo problema, el puerto 80 es adquirido por NT Kernal. Pero cuando ejecuto Apache en el puerto 80, lo hace (cuando está configurado como servicio de ejecución al inicio). Pero cuando detengo Apache e intento ejecutar Tomcat en el puerto 80, Windows 7 no lo permite. El Kernel NT o Skype no deben usar el puerto estándar del servidor web.
Asif Shahzad
puede cambiar los puertos predeterminados de skype desde su configuración de 'Conexión'
Zee
1

En mi caso, sucedió después de instalar Microsoft Web Matrix. Desinstalar esta papelera junto con "Microsoft Web Deploy" solucionó el problema.

Laurent
fuente
1

Estaba buscando PID 4 y llegué a esta pregunta. A partir de esta respuesta y una publicación de blog , pensé que cualquier cosa que tenga que ver con PID 4 probablemente sea un servicio de Windows, por lo que es posible que desee buscar los servicios relevantes en services.msc.

Además, este proceso lo ejecuta System, que se considera otro usuario "conectado".

agua con hielo
fuente
1

Tuve el mismo problema y fue debido a que IIS se ejecuta en el servidor, puede detenerlo usando el Administrador de IIS si es el caso para usted.

Kamiel Ahmadpour
fuente
1

Detuve el servicio de publicación World Wide Web y luego funcionó.

KnuturO
fuente
1

Ninguno de estos funcionó para mí. Tuve que ir a una pregunta de Superusuario .

Si se trata de un proceso del sistema (PID 4), debe deshabilitar el controlador HTTP.sys que otro servicio inicia bajo demanda, como Windows Remote Management o Print Spooler en Windows 7 o 2008.

Hay dos formas de desactivarlo, pero la primera es más segura:

    • Vaya al administrador de dispositivos, seleccione "mostrar dispositivos ocultos" en el menú / vista, vaya a "Controlador no Plug and Play" / HTTP, haga doble clic para desactivarlo (o configúrelo en manual, algunos servicios dependían de ello).

    • Reinicie y use netstat -nao | find ":80"para verificar si 80 todavía se usa.

¡Este es el que funcionó para mí!

jason.zissman
fuente
Es posible que desee agregar la segunda forma más peligrosa de deshabilitarlo, para completar.
agua helada
0

Para mí, tuve que desinstalar "Citrix Virtual Desktop Agent" en mi VM

Jerinaw
fuente
GoToMeeting también es CitrixOnline, solo desinstale
KingRider
0

PID = 4 no aparece en el Administrador de tareas incluso después de colocar la marca de verificación en "Mostrar procesos de todos los usuarios". Bueno, solo hay un usuario.

Sin embargo, netstat -b muestra múltiples conexiones que apuntan al mismo PID = 4 que en esta computadora muestra lo siguiente.

ingrese la descripción de la imagen aquí

Solo he elegido los que pertenecen al protocolo TCP.

Esto se adquirió durante la resolución de problemas de IIS que no comenzó después de probar muchos otros. No creo que debas detener este proceso.

usuario2063329
fuente
0

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

si parar World Wide Web Publishing Serviceayuda

luego, en el administrador de IIS, revise la configuración de enlaces de cada sitio , seleccionando un sitio y en el panel lateral, haga clic en enlace. luego cambie el puerto 80 a otro si es necesario.

Shimon Doodkin
fuente