Windows에서 포트를 사용하는 프로세스 확인하는 방법

짧은 답: netstat -ano가 포트와 PID를 보여 주고, 작업 관리자가 PID를 프로그램으로 번역합니다. 포트 점유 확인 같은 무료 도구는 두 몫을 모두 대신합니다 — 프로세스 이름이 붙은 모든 포트의 검색 가능한 목록이 키 하나 거리에 있습니다.

방법 1: netstat + 작업 관리자 (내장)

  1. Win + R을 누르고 cmd를 입력한 뒤 Enter.
  2. 포트의 점유자를 찾습니다:
    netstat -ano | findstr :8080
    
    줄의 마지막 숫자가 PID입니다.
  3. 작업 관리자 → 세부 정보를 열고 그 PID가 있는 줄을 찾습니다.

어디서나 통하지만 모든 단계가 수동입니다: 맞는 필터 문자열, 수십 줄의 IPv6 아래에서 PID를 파내고, 다시 두 번째 도구에서 찾아야 합니다.

방법 2: 포트 점유 확인 — 이름이 함께 나오는 검색 목록

포트 점유 확인은 같은 netstat을 실행하고 PID를 프로세스 목록과 대조해 표로 보여 줍니다:

  • 수신 대기 포트 먼저 — 포트를 실제로 «막는» 것들입니다.
  • 검색 상자 — 8080, node, PID 중 무엇이든 입력하세요; 목록이 즉시 좁혀집니다.
  • 복사 버튼 — «TCP :8080 — node.exe (1234)»를 클립보드로 가져가 버그 리포트에 바로 씁니다.
  • «모든 연결» 스위치 — 전체 그림이 필요할 때 확립된 소켓을 더합니다.

앱은 읽기만 합니다: 아무것도 막거나 바꾸거나 끝내지 않습니다. 포트를 실제로 비우려면 작업 관리자에서 점유 프로세스를 끝내세요.

무료 다운로드 — PortOwner-Setup.exe

결과 읽는 법

  • LISTENING — 프로그램이 이 포트에서 연결을 기다립니다. «port already in use»를 일으키는 줄이 바로 이것입니다.
  • ESTABLISHED — 지금 활성화된 연결이며 아무것도 막지 않습니다.
  • UDP 줄에는 상태가 아예 없습니다 — 정상입니다, UDP는 비연결형입니다.
  • PID 4 / System — 커널 드라이버(보통 445의 SMB 또는 135의 RPC); 고칠 것은 없습니다.

대표적인 사례

개발 서버 시작 시 «port 8080 is already in use». 8080을 검색하세요 — 보통 이전 세션에서 남은 node.exe/java.exe입니다. 작업 관리자에서 끝내세요.

게임이나 서비스가 포트를 «cannot bind» 합니다. 다른 것이 거기서 수신 대기 중인지 확인하고 두 인스턴스를 비교하세요.

낯선 리스너. 걱정하기 전에 점유 프로세스를 확인하세요 — 열 번 중 아홉 번은 Windows 서비스입니다.

FAQ

PowerShell 방법이 있나요?

있습니다: Get-NetTCPConnection -LocalPort 8080이 점유 PID를 보여 줍니다; 프로세스 이름은 여전히 Get-Process -Id가 필요합니다. 뷰어 앱은 두 단계를 모두 건너뜁니다.

작업 관리자 없이 포트를 비울 수 있나요?

cmd에서 taskkill /PID 1234가 해 줍니다 — 하지만 먼저 프로세스 이름을 확인하세요; 잘못된 프로세스를 끝내면 저장하지 않은 작업을 잃을 수 있습니다.

같은 포트가 IPv4와 IPv6로 두 번 보이는 이유는?

프로그램은 흔히 두 스택 모두에서 수신 대기합니다(0.0.0.0:8080과 [::]:8080); 하나의 프로그램, 두 줄입니다.