Порт 80 используется SYSTEM (PID 4), что это?

347

Я пытаюсь использовать порт 80 для моего сервера приложений, но когда я выполняю, netstat -aonя получаю:

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4

Когда я смотрю на этот процесс в диспетчере задач, он показывает PID 4это SYSTEM, это все . Без расширения ... ничего. Просто " SYSTEM". Что тут происходит?

Я боюсь закончить этот процесс, что мне делать?


ОБНОВЛЕНИЕ :

Я решил это через другой вопрос переполнения стека , в котором было решение, чтобы IIS прекратил прослушивание порта 80 для указанного IP-адреса.

Gih
источник
Тот же вопрос в superuser superuser.com/questions/352017/pid4-using-port-80 и superuser.com/questions/43307/…
Габор Имре
1
Для будущих читателей было бы полезно прочитать serverfault.com/questions/65717/… , чтобы понять, почему некоторые ответы, опубликованные ниже, сработали (но ни один из ответов не вошел в уровень детализации).
Лекс Ли

Ответы:

37

IP-адрес 0.0.0.0, состояние = LISTENING: означает, что порт 80 прослушивает все интерфейсы (не используется)

Как прочитать результаты NETSTAT -AN:

Manji
источник
61
«означает, что порт 80 прослушивает все интерфейсы (не используются)» не совсем точно - служба «World Wide Web Publishing Service» прослушивала этот порт. Как только вы остановите его вручную, вы можете освободить этот порт (по крайней мере, в Windows 7)
despot
33
Просто чтобы уточнить, World Wide Web Publishing Service - это W3SVC. Остановить этот сервис решает мою проблему.
daniel__
20
Остановка и отключение службы W3SVC работает и у меня: sc stop w3svcзатемsc config w3svc start= disabled
dugloon
1
Эта ссылка ( devside.net/wamp-server/… ) помогла мне сузить преступников и, наконец, найти то, что я искал. Досадно, что этот пост-поток не появлялся в моих поисках, пока я не решил его.
DangerPaws
3
СЛУШАТЬ означает используемые. Это означает, что есть процесс, использующий этот конкретный порт, ожидающий входящих звонков. Я пытался запустить веб-сайт по умолчанию, и IIS сказал мне, что есть еще один процесс, использующий порт 80. Ответ, получивший наибольшее количество голосов - тот, что касается «Службы агента веб-развертывания» (MsDepSvc), - является лучшим объяснением того, что происходит.
Мирча Ион
285

Новая служба под названием «Служба агента веб-развертывания» (MsDepSvc) также может запускать «Систему» ​​с PID = 4 для прослушивания на порту 80.

Antony
источник
4
У меня была та же проблема, что и у оригинального постера. Ответ Антония решил мою проблему, так как у меня не было запущенных служб отчетов. Я недавно установил WebMatrix, поэтому, возможно, «Служба агента веб-развертывания» была установлена ​​как часть этого пакета. В любом случае остановка этой службы высвободила порт 80. Мне кажется, что использовать порт 80 довольно нагло.
voam
7
WebMatrix, кажется, проблема здесь
Джонатан
5
Да, я могу подтвердить с Джонатаном, что после установки WebMatrix (и его зависимостей через установщик веб-платформы Microsoft) появляется служба «Служба агента веб-развертывания». Это действительно не очень дружественный дизайн для использования порта 80, особенно если вы также запускаете сервер Apache / IIS на том же компьютере.
Энтони
Чтобы временно остановить MsDepSvc, перейдите в «Выполнить» -> «Services.msc», щелкните правой кнопкой мыши службу агента веб-развертывания, нажмите «Стоп».
timofey.com
Вы можете изменить URL-адрес для MsDepSvc (служба агента веб-развертывания) здесь: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ MsDepSvc \ Parameters
Grynn
251

Есть много сервисов, которые могут прослушивать порт 80 на windows.

К счастью, вы можете обнаружить и остановить их, выполнив простую консольную команду:

NET stop HTTP

Когда вы начнете, вы получите список первым: введите описание изображения здесь

Чтобы избежать этой проблемы в будущем, зайдите в Local Services и отключите перечисленные сервисы .

NB. Некоторые сервисы немедленно перезапускаются, просто несколько раз запустите «NET stop HTTP» .

Антон Пурин
источник
3
ПРИМЕЧАНИЕ ... запустите cmd от имени администратора
boi_echos
3
Это также остановит службу спулера, которая отвечает за принтеры.
Рахман
7
Я упустил тот незаметный факт, что вам сначала предоставляется список запущенных сервисов и выбор продолжать их останавливать. Это позволило мне увидеть, что было запущено, выбрать не останавливать их все, а затем найти подозрительную службу на панели «Службы», остановить ее и установить вручную. Решение Антона великолепно. Легко запомнить и использовать.
Перри Тью
1
@ barlop это действительно странный способ реагировать на людей, пытающихся помочь тебе
Антон Пурин
2
Лучшие команды, чтобы найти виновника: netsh http show urlaclи netsh http show servicestate(ищите всех с: 80 в них.) Источник: devside.net/wamp-server/…
Ayub
242

Кроме того, попробуйте остановить «Службы отчетов SQL Server (MSSQLSERVER)», для которых по умолчанию установлено значение 80. Я сделал это, и порт 80 освободился. PID идентифицировал виновника как «Систему», но очевидно, что Система может означать несколько вещей.

infocyde
источник
5
Службы отчетов SQL Server также прослушивали порт 80 в моей системе. Спасибо!
afournier
2
Я начал видеть этот порт 80 после установки сервера MSSql и не понял, пока не увижу ваше решение. После остановки службы все хорошо сейчас. Спасибо.
Дамодар Башял
4
Измените «URL-адрес веб-службы» И «URL-адрес веб-портала» в «Диспетчере конфигурации служб Reporting Services», скажем, для порта 82 :-)
Франсуа Бретон,
Спустя 10 лет проблемы все еще решаются.
MPJ567
87

У меня такая же проблема. Можно исправить это, остановив службу публикации в Интернете под запущенными службами.

Жюль Колле
источник
отличная работа, остановив веб-службы развертывания агента в службах на Windows 7 Professional.
user606669
Это работает, но также не позволяет мне размещать сайты на других портах через IIS.
cchamberlain
Это не сработало для меня на Windows Server 2012 R2. Сервис, по-видимому, даже не существует, поэтому я не могу закончить процесс.
Мартин Эрлик
30

Похоже, IIS прослушивает порт 80 для HTTP-запросов.

Попробуйте остановить IIS. Для этого перейдите в Панель управления / Администрирование / Информационные службы Интернета, щелкните правой кнопкой мыши веб-сайт по умолчанию, выберите опцию Остановить во всплывающем меню и посмотрите, очистился ли прослушиватель на порту 80.

Роберт Харви
источник
Это было в моей системе IIS, но названия сервисов были "WWW-Publishingdienst" (немецкий?)
Оливье Фошо
28

Это работает для меня:

  1. Щелкните правой кнопкой мыши на Мой компьютер .
  2. Выберите Управление .
  3. Дважды щелкните Службы и приложения .
  4. Затем дважды щелкните Сервисы .
  5. Щелкните правой кнопкой мыши на « World Wide Web Publishing Service ».
  6. Выберите Стоп .
Eng.Fouad
источник
1
На шаге 5 моя проблема была связана со службой отчетов SQL Server. Я выключил это, и проблема решена. Я отключил службы WWWPublishing раньше, но это не решило проблему.
Огюст
ReportServer $ SQLEXPRESSS2016 делал это на моем компьютере.
Лиам Митчелл
25

Я обнаружил, что «Службы отчетов SQL Server (MSSQLSERVER)» запускаются автоматически и прослушивают порт 80.

Надеюсь, это поможет.

О

Omeriko
источник
23

ИСПЫТАНО РАБОЧЕГО РЕШЕНИЯ: (ОКНА 10)

Есть много причин для этого, единственная причина / решение, которое я рекомендовал, это:

ОТКРЫТЬ СВОЮ КОМАНДУ С АДМИНИСТРАТОРОМ, ПРЕДВАРИТЕЛЬНО ПРЕДПРИНИМАТЕЛЬНЫЙ:

net stop http /y

вышеизложенное согласится прекратить работу службы http:

sc config http start= disabled

вышеуказанное настроит службу на отключение по умолчанию

ЕСЛИ ВЫШЕ РЕШЕНИЕ НЕ РАБОТАЕТ, НАЙТИ ВАШ КОНКРЕТНЫЙ СЛУЧАЙ ЗДЕСЬ:

ИСТОЧНИК: http://www.devside.net/wamp-server/opening-up-port-80-for-apache-to-use-on-windows

Перезапустите свой веб-сервер / XAMPP / APACHE И СДЕЛАНО.


Если вам когда-нибудь понадобится повторно включить значение по умолчанию, введите команду sc config HTTP start= demandздесь: источник объяснения http://servicedefaults.com/10/http/

помет
источник
15

Другой сервис, который может занять порт 80, это BranchCache

services.msc, показывающий его как «BranchCache»

или используйте команду net, чтобы остановить службу, как

чистая остановка PeerDistSvc

Обновить:

PeerDistSvc - это служба за svhost.exe, для просмотра типа служб svchost

список задач / svc / fi "imagename eq svchost.exe"

seizu
источник
у меня это тоже сработало - в описании сервиса написано: BranchCache - эта служба кэширует сетевой контент от пиров в локальной подсети.
xorcus
Эта статья решила мою проблему с BranchCache
Амит Бекенштейн
8

Я знал, что эти ответы были правильными, но мой services.msc не показывал службы, однако это помогло:

sc stop "MsDepSvc" 
sc config "MsDepSvc" start= disabled 
isJustMe
источник
5

Это можно легко исправить, выполнив следующие пять шагов:

  1. Открытые услуги
  2. Щелкните правой кнопкой мыши по сервису World Wide Web Publishing.
  3. Нажмите СТОП

Чтобы предотвратить эту проблему в будущем:

  1. Перейти к свойствам
  2. Изменить тип запуска на ручной

Виола, ты в порядке!

Арун Джошла
источник
1
Именно то, что мне нужно. Спасибо.
Данг Конг Дуонг
4

Я только что получил эту проблему сегодня, так как она появилась после того, как Нортон запросил перезагрузку, я обвинил Нортона.
Но это был не Нортон, я удалил Нортон, перезагрузил -> проблема все еще там.

netstat -nao показывал, что PID 4 принадлежит моему порту 80.

Затем я перешел к панели управления, затем «Включение или отключение функций Windows», а затем снял флажок «Информационные службы Интернета».
Перезагрузился, проблема ушла.
Мой сервер xampp работает нормально.

Я никогда не помню, чтобы в первую очередь включал IIS. Я бегал много месяцев, прежде чем это произошло. Я до сих пор не знаю, что вызвало это в первую очередь. Возможно, предыдущее обновление Windows включило iis, и моя перезагрузка включила его, я не знаю.

Годзилла
источник
4

Этот процесс работает для меня:

  1. Щелкните правой кнопкой мыши на Мой компьютер.
  2. Выберите Управление.
  3. Дважды щелкните Службы и приложения.
  4. Затем дважды щелкните Сервисы.
  5. Щелкните правой кнопкой мыши на «World Wide Web Publishing Service».
  6. Выберите Стоп
  7. Перезапустите XAMPP
Manideep
источник
3

У меня была такая же проблема, за исключением того, что я никогда не использовал IIS. Пока я исправлял еще одну системную ошибку, я установил службу apache на ручной запуск, надеясь уменьшить сложность моей системы. После того, как я исправил другую ошибку, apache не запустился. Некоторое время я размышлял, но все, что для этого потребовалось, - установить автоматический запуск apache: Пуск> Администрирование> Службы.

Очевидно, когда Apache запускается таким образом, он запрашивает порт 80, прежде чем процесс SYSTEM может.

кто-то все мои поиски в Google оказались «не может иметь IIS и Apache на одной машине». это для другого процента из нас.

changokun
источник
2

Попробуйте netstat -b, который, возможно, поможет пролить свет на ситуацию (показывая, какой .exe использует порт). Удачи.

Джон Онстотт
источник
это даже не показывалось в netstat -b, странно, но в любом случае я решил, поищите обновление.
GiH
-1 PID 4 бесполезно. C: \ blah> netstat -abon | еще "Active Connections TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4 Can not obtain ownership information" и после нажатия «показать процессы от всех пользователей» в диспетчере задач Windows 7 диспетчер задач выводит список «Система» для PID 4.
barlop
2

Для меня это сработало после остановки Web Deployment Agent Service.

danpop
источник
2

Если вы используете продукт Razer и устанавливаете программное обеспечение Razer Synapse на свой ПК, он также блокирует порт 80.

Он не включен в netstatкоманду, поэтому я не могу его устранить. Поскольку в программное обеспечение включено много сервисов, я не могу проанализировать, какой из них блокирует порт. После удаления Razer Synapse я снова могу запустить сервер Apache в Windows 10.

maurisrx
источник
Спасибо, я думаю, это Razer Chroma SDK Server. Я отключил его в msconfig, и это решило проблему для меня!
Стефан
1

Это не объясняет сторону PID, но если вы используете Skype, ему почему-то нравится использовать порт 80.

davidtbernal
источник
Я сталкиваюсь с той же проблемой, порт 80 приобретен NT Kernal. Но когда я запускаю Apache на 80-м порту, это происходит (когда он настроен как служба запуска при запуске). Но когда я останавливаю Apache и пытаюсь запустить Tomcat через порт 80, Windows 7 не позволяет. Ядро NT или Skype не должны использовать стандартный порт веб-сервера.
Асиф Шахзад
Вы можете изменить порты по умолчанию Skype в настройках «Соединение»
Zee
1

В моем случае это произошло после установки Microsoft Web Matrix. Удаление этой корзины вместе с «Microsoft Web Deploy» решило проблему.

Laurent
источник
1

Я искал PID 4 и пришел к этому вопросу. Из этого ответа и поста в блоге я понял, что все, что связано с PID 4, это, вероятно, служба Windows, поэтому вы можете поискать соответствующие службы в services.msc.

Кроме того, этот процесс запускается системой, которая считается еще одним «вошедшим в систему» ​​пользователем.

icedwater
источник
1

У меня была та же проблема, и это было из-за IIS, работающего на сервере, вы можете остановить его с помощью IIS Manager, если это так.

Камиль Ахмадпур
источник
1

Я остановил издательский сервис World Wide Web, и тогда это сработало.

KnuturO
источник
1

Ничто из этого не помогло мне. Я должен был пойти на вопрос SuperUser .

Если это системный процесс - PID 4 - вам необходимо отключить драйвер HTTP.sys, который запускается по требованию другой службой, такой как удаленное управление Windows или диспетчер очереди печати в Windows 7 или 2008.

Есть два способа его отключить, но первый безопаснее:

    • Зайдите в диспетчер устройств, выберите «показать скрытые устройства» в меню / представлении, перейдите к «Драйвер без Plug and Play» / HTTP, дважды щелкните по нему, чтобы отключить его (или установите его вручную, некоторые службы зависят от него).

    • Перезагрузитесь и используйте, netstat -nao | find ":80"чтобы проверить, используется ли еще 80.

Это тот, который работал для меня!

jason.zissman
источник
Возможно, вы захотите добавить второй, более опасный способ отключить его, для полноты.
ледяной воды
0

Мне пришлось удалить «Citrix Virtual Desktop Agent» на моей виртуальной машине.

Jerinaw
источник
GoToMeeting также является CitrixOnline, просто удалите его
KingRider,
0

PID = 4 не отображается в диспетчере задач даже после установки флажка «Показывать процессы от всех пользователей». Ну, есть только один пользователь.

Тем не менее, netstat -b показывает несколько соединений с одинаковым PID = 4, которые на этом компьютере отображают следующее.

введите описание изображения здесь

Я выбрал только те, которые относятся к протоколу TCP.

Это было получено во время устранения неполадок IIS, которые не начались после попытки многих других. Я не думаю, что вы должны остановить этот процесс.

user2063329
источник
0

тип netstat -a -n -b -o |more

если остановиться World Wide Web Publishing Service помогает

затем в диспетчере IIS просмотрите настройки привязок каждого сайта , выбрав сайт и нажав на боковой панели привязку. затем измените порт 80 на что-то другое, если требуется.

Шимон Дудкин
источник