Как узнать, какое приложение использует мой порт?

Я не могу запустить GlassFish, потому что он продолжает показывать это сообщение об ошибке:

SEVERE: Shutting down v3 due to startup exception : No free port within range: 8080=com.sun.enterprise.v3.services.impl.monitor.MonitorableSelectorHandler@ed7d1

Как узнать, какие приложения используют какие порты в Windows Vista? Я попытался использовать nmap zenmap, используя следующую цель:

http://127.0.0.1:8080

Но все, что я получаю, это:

Starting Nmap 5.51 ( http://nmap.org ) at 2011-08-05 12:05 Central Daylight Time

NSE: Loaded 57 scripts for scanning.

Read data files from: C:\Program Files\Nmap
Nmap done: 0 IP addresses (0 hosts up) scanned in 4.55 seconds
           Raw packets sent: 0 (0B) | Rcvd: 0 (0B)
WARNING: No targets were specified, so 0 hosts scanned.

person Flethuseo    schedule 05.08.2011    source источник
comment
возможный дубликат Как проверить порт 8080 в команде Windows Vista Подскажите?   -  person Matt Ball    schedule 05.08.2011
comment
Это спасло мой день, но оно принадлежит superuser.com, я бы хотел, чтобы был способ перемещать вопросы между сайтами обмена стеками.   -  person SparK    schedule 30.09.2014
comment
При разработке веб-сервисов в VS 2017 на C# этот вопрос/ответ помешал мне перезагружать компьютер каждые 2 часа... хотя он не имеет прямого отношения к программированию, он косвенно чрезвычайно полезен для всех нас, разрабатывающих сокеты.   -  person Miguel Mateo    schedule 01.10.2017
comment
Итак, вы ищете, какое приложение использует порт 8080? Сначала введите эту команду в cmd ..... netstat -ano | findstr :8080 это или подобное вы увидите TCP 0.0.0.0:8080 0.0.0.0:0 ПРОСЛУШИВАНИЕ 4492 теперь вы знаете идентификатор приложения, которое использует порт 8080, а затем найдите это приложение, используя тип идентификатора в этом коде с вашим идентификатором (в моем случай это 4492) список задач | findstr 4492 и вот. Tomcat9.exe 4492 Службы 0 77,988 К   -  person Konstantin F    schedule 03.06.2019


Ответы (4)


А нетстат?

http://support.microsoft.com/kb/907980

Команда netstat -anob.

(Убедитесь, что вы запускаете команду от имени администратора)

Я получил:

C:\Windows\system32>netstat -anob

Активные соединения

     Proto  Local Address          Foreign Address        State           PID
  TCP           0.0.0.0:80                0.0.0.0:0                LISTENING         4
 Can not obtain ownership information

  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       692
  RpcSs
 [svchost.exe]

  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING       7540
 [Skype.exe]

  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
 Can not obtain ownership information
  TCP    0.0.0.0:623            0.0.0.0:0              LISTENING       564
 [LMS.exe]

  TCP    0.0.0.0:912            0.0.0.0:0              LISTENING       4480
 [vmware-authd.exe]

И если вы хотите проверить конкретный порт, используйте следующую команду: netstat -aon | findstr 8080 по тому же пути

person Peter Kellner    schedule 05.08.2011
comment
сделал netstat -anob | findstr 8080, он дал мне идентификатор задачи. Было бы неплохо узнать, какое приложение использует его из PID, есть ли команда для этого? кстати: не через диспетчер задач, я ненавижу искать в этом списке - person Flethuseo; 05.08.2011
comment
Вы можете использовать команду tasklist, чтобы увидеть список всех запущенных процессов с их PID. - person Amir Oveisi; 01.09.2013
comment
вопрос помечен не по теме, но этот ответ спас мне день, я нашел куприт, используя 8099! Спасибо. - person LaBracca; 20.03.2014
comment
Это сработало для меня, но после использования taskkill /pid 8516 я получил ERROR: The process "8516" not found. Оказывается, если дочерний процесс запущен, Windows сохранит сокет. Уничтожение дочернего процесса освободило сокет. serverfault.com/questions/181015/ - person jtpereyda; 07.07.2015
comment
В моем случае виновником был Oracle TNS Listener:tasklist | findstr 5676 TNSLSNR.EXE 5676 Services 0 5 140 K - person nicordesigns; 22.01.2019

Чтобы узнать, какие порты доступны на вашем компьютере, запустите:

C:>  netstat -an |find /i "listening"
person Carlos Quintanilla    schedule 05.08.2011

Возможно, что другое приложение не запущено. Возможно, что сокет не был полностью закрыт из предыдущего сеанса, и в этом случае вам, возможно, придется подождать некоторое время, прежде чем истечет время TIME_WAIT для этого сокета. К сожалению, вы не сможете использовать порт, пока не истечет срок действия этого сокета. Если вы можете запустить свой сервер после некоторого ожидания (несколько минут), проблема не связана с каким-то другим приложением, работающим на порту 8080.

person ritesh    schedule 05.08.2011

В командной строке выполните:

netstat -nb
person jontsai    schedule 05.08.2011
comment
Не работает, выдает мне ошибку, говорящую, что запрошенная операция требует повышения. - person Sohail Qureshi; 12.09.2020
comment
@SohailQureshi Просто запустите командную строку от имени администратора. - person Revnic Robert-Nick; 02.01.2021