전산업무

윈도우 포트 사용 프로세스 확인 및 종료

소스코드 요리사 2018. 7. 31. 11:12

특정 포트를 사용하고 있는 프로그램을 실행시켰는데 이미 그 포트가 사용되어 있다는 등의 문제와 같이 특정 포트 사용하는 프로세스를 찾아야 할 때가 있습니다. 


이 때 간단하게 윈도우의 cmd 의 netstat 명령과 findstr 을 이용해서 찾을 수 있습니다. 


1. 특정 포트를 사용하는 프로세스 찾기


(1) 커멘드 창에 netstat -ano | findstr :포트번호 를 입력합니다.

netstat 결과에서 :21을 가진 문장을 출력합니다. 즉, nestat결과 내 21번 포트를 쓰는 라인만 출력하는 거죠.



상세한 내용은 아래를 참고하세요.


netstat(network statistics)는 아시다시피 네트워크 연결 정보를 보여주는 CMD 도구입니다. 

전송 제어 프로토콜, 라우팅 테이블, 수많은 네트워크 인터페이스, 네트워크 프로토콜 통계를 위한 네트워크 연결 정보를 볼 수 있습니다.


위 그림에서 사용한 옵션의 의미는 아래와 같습니다.


-a : 현재다른PC와 연결(Established)되어 있거나 대기(Listening)중인 모든 포트 번호를 확인하는 옵션

-no : 숫자 형태로 활성화된 TCP 연결과 프로세스 ID를 확인



그리고, findstr은 특정 문자열을 찾는 기능을 가진 명령어 입니다. 

사용법은 커멘드 창에서 findstr /? 하시면 상세설명이 나옵니다.



(2) tasklist 작업관리자에서 (1)에서 검색된 PID로 해당 프로세스를 찾습니다.


2. 찾은 프로세스를 윈도우의 작업관리자 또는 taskkill 명령으로 종료


위 그림과 같이 taskkill /pid PID입력 /f 을 CMD에 입력하시면 됩니다. 14152 PID를 가진 프로세를 강제종료하는 명령입니다.