#command

[Windows] CMD 프로세스 및 포트 관리 완전 정복 (tasklist, netstat, taskkill)

Windows CMD 환경에서 실행 중인 프로세스를 조회하고, 특정 포트를 점유 중인 서비스를 식별하며, 문제 발생 시 해당 프로세스를 강제로 종료하는 필수 명령어(tasklist, netstat, taskkill) 사용법을 정리합니다.

1. 프로세스 조회 (tasklist)

현재 시스템에서 실행 중인 프로세스 목록을 확인합니다. 필터(/fi) 옵션을 사용하여 특정 프로세스만 검색할 수 있습니다.

이미지 이름으로 검색

특정 실행 파일명(Image Name)을 기준으로 프로세스를 찾습니다. (예: java.exe)

:: 사용법: tasklist /fi "imagename eq [프로세스명]"
C:\Users> tasklist /fi "imagename eq java.exe"

이미지 이름                    PID 세션 이름              세션#  메모리 사용
========================= ======== ================ =========== ============
java.exe                      1234 Console                    1    150,000 K

2. 포트 점유 확인 (netstat)

네트워크 상태를 확인하여 특정 포트를 리슨(LISTEN)하고 있는 프로세스의 PID를 식별합니다.

Listening 포트 및 PID 확인

-ano 옵션을 사용하여 모든 연결, 숫자 형식의 주소, 그리고 소유 프로세스 ID(PID)를 함께 출력합니다.

:: 사용법: netstat -ano | find "[문자열]"
C:\Users> netstat -ano | find "LISTEN"

  프로토콜   로컬 주소              외부 주소               상태            PID
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       564
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       892

3. PID로 프로세스 식별 (Reverse Lookup)

netstat으로 확인한 PID(예: 564)가 실제로 어떤 서비스인지 tasklist를 통해 역추적합니다.

PID로 검색

:: 사용법: tasklist /fi "pid eq [PID]"
C:\Users> tasklist /fi "pid eq 564"

이미지 이름                    PID 세션 이름              세션#  메모리 사용
========================= ======== ================ =========== ============
svchost.exe                    564 Services                   0     11,444 K

4. 프로세스 강제 종료 (taskkill)

응답하지 않거나 특정 포트를 점유하여 충돌을 일으키는 프로세스를 종료합니다.

PID를 이용한 강제 종료

/f 옵션은 강제 종료(Force)를 의미하며, /pid 옵션으로 대상을 지정합니다.

:: 사용법: taskkill /f /pid [PID]
C:\Users> taskkill /f /pid 6985

성공: 프로세스(PID 6985)가 종료되었습니다.

이미지 이름을 이용한 강제 종료

동일한 이름의 모든 프로세스를 한 번에 종료할 때 유용합니다.

:: 사용법: taskkill /f /im [이미지이름]
C:\Users> taskkill /f /im notepad.exe

5. 도움말 및 옵션 확인

각 명령어의 상세한 필터 옵션이나 사용법이 궁금할 경우 /? 플래그를 사용합니다.

tasklist /?
taskkill /?

Next Step:
CMD 명령어보다 더 강력하고 객체 지향적인 관리가 필요하다면, PowerShell의 Get-Process, Stop-Process, Get-NetTCPConnection Cmdlet 사용법을 학습해 보시길 권장합니다.