Как узнать, какой процесс занимает порт в Windows

Короткий ответ: netstat -ano показывает порты с PID, а диспетчер задач переводит PID в имя программы. Бесплатная программа Кто занял порт делает обе половины за вас — список всех портов с именами процессов и поиском в одно нажатие.

Способ 1: netstat + диспетчер задач (встроенный)

  1. Нажмите Win + R, введите cmd, Enter.
  2. Найдите владельца порта:
    netstat -ano | findstr :8080
    
    Последнее число в строке — это PID.
  3. Откройте Диспетчер задач → Подробности (в Windows 11 — вкладка «Подробности») и найдите строку с этим PID.

Работает везде, но каждый шаг ручной: правильная строка фильтра, выуживание PID из-под десятков строк IPv6, а затем поиск PID во втором инструменте.

Способ 2: Кто занял порт — список с поиском и готовыми именами

Кто занял порт выполняет тот же netstat, сопоставляет PID со списком процессов и показывает таблицей:

  • Слушающие порты первыми — именно они «занимают» порт.
  • Поиск — введите 8080, node или PID; список сужается мгновенно.
  • Кнопка копирования — «TCP :8080 — node.exe (1234)» попадает в буфер обмена для баг-репорта.
  • Переключатель «Все соединения» — добавляет установленные сокеты, когда нужна полная картина.

Программа только читает: ничего не блокируется, не меняется и не завершается. Чтобы реально освободить порт, завершите владеющий процесс в диспетчере задач.

Скачать бесплатно — PortOwner-Setup.exe

Как читать результат

  • LISTENING — программа ждёт подключений на этом порту. Такие строки и вызывают «порт уже используется».
  • ESTABLISHED — активное соединение прямо сейчас; ничего оно не блокирует.
  • Строки UDP без состояния — это нормально, UDP не устанавливает соединений.
  • PID 4 / System — драйвер ядра (обычно SMB на 445 или RPC на 135); чинить нечего.

Типичные случаи

«Порт 8080 уже используется» при запуске дев-сервера. Найдите 8080 — обычно это забытый node.exe/java.exe из прошлой сессии. Завершите его в диспетчере задач.

Игра или сервис «не может занять» порт. Проверьте, не слушает ли там что-то другое; сравните два экземпляра.

Незнакомый слушатель. Опознайте владеющий процесс, прежде чем волноваться, — в 9 случаях из 10 это служба Windows.

Частые вопросы

Есть ли способ через PowerShell?

Да: Get-NetTCPConnection -LocalPort 8080 покажет владеющий PID; имя процесса всё равно придётся доставать через Get-Process -Id. Программа-просмотрщик избавляет от обоих шагов.

Можно ли освободить порт без диспетчера задач?

taskkill /PID 1234 в cmd умеет — но сначала проверьте имя процесса; завершение не того процесса может стоить несохранённой работы.

Почему один и тот же порт виден дважды, IPv4 и IPv6?

Программы часто слушают оба стека (0.0.0.0:8080 и [::]:8080); это одна программа в двух строках.