Jak sprawdzić, która aplikacja wykorzystuje mój port? [Zamknięte]

79

Nie mogę uruchomić GlassFish, ponieważ ciągle wyświetla ten komunikat o błędzie:

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

Jak mogę sprawdzić, które aplikacje używają jakich portów w systemie Windows Vista? Próbowałem użyć nmap zenmap przy użyciu następującego celu:

http://127.0.0.1:8080

Ale wszystko co otrzymuję to:

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.
Flethuseo
źródło
To uratowało mi dzień, ale należy do superuser.com, chciałbym, żeby istniał sposób na przenoszenie pytań między stronami
wymiany stosów
Podczas rozwijania usług internetowych w VS 2017 w C #, to pytanie / odpowiedź powstrzymało mnie przed ponownym uruchamianiem komputera co 2 godziny ... chociaż nie jest bezpośrednio związane z programowaniem, jest pośrednio niezwykle pomocne dla nas wszystkich tworzących gniazda.
Miguel Mateo
Więc szukasz, która aplikacja używa portu 8080? Najpierw wprowadź to polecenie w cmd ..... netstat -ano | findstr: 8080 ten lub podobny zobaczysz TCP 0.0.0.0:8080 0.0.0.0:0 SŁUCHANIE 4492 teraz znasz identyfikator aplikacji, która używa portu 8080, a następnie znajdź tę aplikację za pomocą id wpisz w tym kodzie z twoim identyfikatorem (w moim Case it 4492) lista zadań | findstr 4492 i gotowe. Tomcat9.exe 4492 Usługi 0 77.988 K
Konstantin F

Odpowiedzi:

112

A co z netstatem?

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

Rozkaz jest netstat -anob.

(Upewnij się, że uruchamiasz polecenie jako administrator)

Dostaję:

C:\Windows\system32>netstat -anob

Aktywne połączenia

     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]

Jeśli chcesz sprawdzić określony port, użyj polecenia: netstat -aon | findstr 8080 z tej samej ścieżki

Peter Kellner
źródło
26
did netstat -anob | findstr "8080", podał mi identyfikator zadania, byłoby miło jednak wiedzieć, która aplikacja go używa z PID, czy jest polecenie, aby to zrobić? btw: nie przez menedżera zadań, nienawidzę przeszukiwać tej listy
Flethuseo
8
Możesz użyć tasklistpolecenia, aby wyświetlić listę wszystkich uruchomionych procesów wraz z ich PID.
Amir Oveisi
3
pytanie zostało oznaczone jako temat, ale ta odpowiedź uratowała mi dzień, znalazłem cuprit przy użyciu 8099! Dzięki.
LaBracca
2
To zadziałało dla mnie, ale po użyciu taskkill /pid 8516otrzymałem ERROR: The process "8516" not found.Okazuje się, że jeśli uruchomiony jest proces potomny, system Windows zachowa gniazdo. Zabicie procesu potomnego uwolniło gniazdo. serverfault.com/questions/181015/…
jtpereyda
W moim przypadku winowajcą był Oracle TNS Listener: lista zadań | findstr "5676" TNSLSNR.EXE 5676 Usługi 0
5,140 tys.
10

Aby zobaczyć, które porty są dostępne na twoim komputerze, uruchom:

C:>  netstat -an |find /i "listening"
Carlos Quintanilla
źródło
7

Możliwe, że nie jest uruchomiona żadna inna aplikacja. Jest możliwe, że gniazdo nie zostało czysto zamknięte z poprzedniej sesji, w takim przypadku może być konieczne odczekanie chwilę, zanim TIME_WAIT wygaśnie w tym gnieździe. Niestety, nie będziesz mógł korzystać z portu, dopóki gniazdo nie wygaśnie. Jeśli możesz uruchomić serwer po chwili odczekania (kilku minut), problem nie jest spowodowany przez inną aplikację działającą na porcie 8080.

ritesh
źródło
3

W wierszu polecenia wykonaj:

netstat -nb
jontsai
źródło
Nie działa, powoduje wyświetlenie błędu „Żądana operacja wymaga podniesienia uprawnień”.
Sohail Qureshi,
@SohailQureshi Po prostu uruchom wiersz polecenia jako administrator.
Revnic Robert-Nick