- Published on
사용중인 포트 종료하기 (Port Kill) - 윈도우
- Authors
- Name
- 송 치훈
- @chihoon0415
윈도우에서 Port kill 하는 방법
선 3줄 요약
cmd
혹은powershell
혹은windows terminal
을관리자 권한으로 실행
클릭netstat -a -o
입력, enter 후 나오는 화면에서0.0.0.0:searchport
찾기- 찾은 프로세스의
PID
를 확인하고taskkill /f /pid PID번호
입력, enter.
로컬에서 개발 작업을 진행하다보면, 가끔 WAS(Web Application Server)간에 포트가 겹치거나 점유 중일때가 있습니다. spring의 8080 포트, react의 3000 포트등이 대표적입니다. 미리 커스텀하여 포트를 설정해 둘수도 있지만, 로컬에서 구동확인만 빠르게 진행할 때는 가끔 발목 잡을 때가 많죠.
윈도우 환경에서 점유중인 포트를 빠르게 죽이는 방법에 대해서 간단히 소개하겠습니다.
먼저, cmd
, Windows PowerShell
, Terminal
중 하나를 켭니다.
다음으로, 커맨드라인에 netstat -a -o
를 입력합니다.
netstat
는 network statistics의 줄임말로, 전송 제어 프로토콜, 라우팅 테이블, 수많은 네트워크 인터페이스, 네트워크 프로토콜 통계를 위한 네트워크 연결을 보여주는 명령 줄 도구입니다. 주로, 네트워크의 문제를 찾아내고 성능 측정으로서 네트워크 상의 트래픽의 양을 결정하기 위해 사용합니다..
-a
와 -o
는 각각 netstat
의 매개변수들로서, 모든 연결과 수신 대기 포트 및 각 연결의 pid(process id)를 표시하라는 옵션입니다. 추가적인 옵션들은 아래의 표로 정리하였습니다.(마이크로소프트 공식 문서 참조)
옵션 | 명령어 |
---|---|
-a | all, 모든 연결 및 수신 대기 포트를 표시 |
-b | 각 연결 또는 수신 대기 포트 생성과 관련된 실행 파일을 표시. 잘 알려진 실행 파일이 여러 독립 구성 요소를 호스팅할 경우 연결 또는 수신 대기 포트 생성과 관련된 구성 요소의 시퀀스가 표시됩니다. 이러한 경우에는 실행 파일 이름이 아래 [] 안에 표시되고 위에는 TCP/IP에 도달할 때까지 호출된 구성 요소가 표시됩니다. 이 옵션은 시간이 오래 걸릴 수 있으며 사용 권한이 없으면 실패합니다. |
-e | 이더넷 통계를 표시. 이 옵션은 -s 옵션과 함께 사용할 수 있습니다. |
-f | 외부 주소의 FQDN(정규화된 도메인 이름)을 표시. |
-i | TCP 연결이 현재 상태로 지속된 시간을 표시. |
-n | 주소 및 포트 번호를 숫자 형식으로 표시. |
-o | 각 연결의 소유자 프로세스 ID (PID)를 표시. |
-p (혹은 proto) | proto로 지정한 프로토콜의 연결을 표시. proto는 TCP, UDP, TCPv6 또는 UDPv6 중 하나입니다. -s 옵션과 함께 사용하여 프로토콜별 통계를 표시할 경우 proto는 IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP 또는 UDPv6 중 하나입니다. |
-q | 모든 연결, 수신 대기 포트 및 바인딩된 비수신 대기 TCP 포트를 표시. 바인딩된 비수신 대기 포트는 활성 연결과 연결되거나 연결되지 않을 수도 있습니다. |
-r | 라우팅 테이블을 표시. |
-s | 프로토콜별 통계를 표시. 기본적으로 IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP 및 UDPv6에 대한 통계를 표시. -p 옵션을 사용하여 기본값의 일부 집합에 대한 통계만 지정할 수 있습니다. |
-t | 현재 연결 오프로드 상태를 표시. |
-x | NetworkDirect 연결, 수신기 및 공유 끝점을 표시. |
-y | 모든 연결에 대한 TCP 연결 템플릿을 표시. 다른 옵션과 함께 사용할 수 없습니다. |
interval | 다음 화면으로 이동하기 전에 지정한 시간(초) 동안 선택한 통계를 다시 표시. 통계 다시 표시를 중지하려면 CTRL+C를 누르세요. 이 값을 생략하면 현재 구성 정보가 한 번만 출력됩니다. |
위 netstat 명령어로 찾아낸 점유중인 포트를 죽이는 방법으로는 taskkill
명령어를 활용합니다.