내 포트를 사용하는 애플리케이션을 어떻게 찾습니까? [닫은]


79

다음 오류 메시지가 계속 표시되므로 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.


이것은 내 일 저장, 아직 나는 stackexchange 사이트 타협 질문을 이동하는 방법이 있었으면 좋겠어, superuser.com에 속한다
스파크

C #에서 VS 2017에서 웹 서비스를 개발하는 동안이 질문 / 답변으로 인해 2 시간마다 컴퓨터를 재부팅하지 못했습니다. 프로그래밍과 직접 관련이 없지만 소켓을 개발하는 우리 모두에게 간접적으로 매우 도움이됩니다.
Miguel Mateo

그렇다면 포트 8080을 사용하는 응용 프로그램을 찾고 계십니까? 먼저 cmd ..... netstat -ano | findstr : 8080 이것 또는 유사하게 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 4492가 표시됩니다. 이제 포트 8080을 사용하는 응용 프로그램의 ID를 알고이 코드에서 ID 유형을 사용하여 해당 응용 프로그램을 ID와 함께 찾습니다. case it 4492) 작업 목록 | findstr 4492 그리고 여기 있습니다. Tomcat9.exe 4492 서비스 0 77.988 K
Konstantin F

답변:


112

netstat는 어떻습니까?

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


26
netstat -anob | findstr "8080", 그것은 나에게 작업 ID를주었습니다. 어떤 응용 프로그램이 PID에서 그것을 사용하고 있는지 아는 것이 좋을 것입니다. 이것을 수행하는 명령이 있습니까? btw : 작업 관리자를 통하지 않고 목록을 검색
해야하는 것이 싫습니다

8
tasklist명령을 사용 하여 PID와 함께 실행중인 모든 프로세스 목록을 볼 수 있습니다 .
아미르 Oveisi

3
질문은 주제를 표시했지만이 답변은 내 하루를 구했습니다 .8099를 사용하여 cuprit을 찾았습니다! 감사.
LaBracca

2
이것은 나를 위해 일하지만 사용 후 taskkill /pid 8516, 나는 가지고 ERROR: The process "8516" not found.자식 프로세스가 실행중인 경우, 윈도우 주위 소켓을 유지할 턴을. 자식 프로세스를 종료하면 소켓이 해제되었습니다. serverfault.com/questions/181015/…
jtpereyda

제 경우에는 Oracle TNS Listener가 범인이었습니다. findstr "5676"TNSLSNR.EXE 5676 서비스 0 5,140 K
nicordesigns


7

실행중인 다른 응용 프로그램이 없을 수 있습니다. 소켓이 이전 세션에서 완전히 종료되지 않았을 수 있습니다.이 경우 해당 소켓에서 TIME_WAIT가 만료되기 전에 잠시 기다려야 할 수 있습니다. 불행히도 해당 소켓이 만료 될 때까지 포트를 사용할 수 없습니다. 잠시 (몇 분) 기다린 후 서버를 시작할 수 있다면 포트 8080에서 실행중인 다른 응용 프로그램으로 인한 문제가 아닙니다.


3

명령 프롬프트에서 다음을 수행하십시오.

netstat -nb

작동하지 않으면 "요청한 작업에는 권한 상승이 필요합니다."라는 오류가 표시됩니다.
Sohail Qureshi

@SohailQureshi 관리자 권한으로 명령 프롬프트를 실행하십시오.
Revnic Robert-Nick
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.