stamper
WindowsPowerShell포트트러블슈팅

포트를 점유한 프로세스 찾아서 종료하기

초보개발자2026. 7. 21.조회 174추천 0
변수 입력3

Windows에서 포트를 점유한 프로세스를 종료할 때는 PID뿐 아니라 실행 파일과 서비스 연결 여부를 확인해야 합니다. 관리자 권한 프로세스는 관리자 PowerShell이 필요할 수 있습니다.

Windows에서 {{PORT}} 포트를 점유한 프로세스를 안전하게 찾고 종료하려고 해.
PowerShell 기준으로 프로세스 확인, 서비스 여부 확인, 정상 종료, 검증 순서를 알려 줘.
강제 종료는 마지막 수단으로 구분해 줘.

1. 포트와 PID 확인

Get-NetTCPConnection -LocalPort {{PORT}} -State Listen |
  Select-Object LocalAddress, LocalPort, State, OwningProcess

PID의 실제 프로그램을 확인합니다.

Get-Process -Id {{PID}} | Select-Object Id, ProcessName, Path

서비스가 관리하는 프로세스인지도 확인하세요.

Get-CimInstance Win32_Service |
  Where-Object ProcessId -eq {{PID}} |
  Select-Object Name, DisplayName, State, StartMode

2. 종료

일반 프로그램은 먼저 강제 옵션 없이 종료합니다.

Stop-Process -Id {{PID}}

Windows 서비스라면 프로세스를 직접 죽이지 말고 서비스를 중지합니다.

Stop-Service -Name '{{SERVICE_NAME}}'

응답하지 않을 때만 마지막으로 강제 종료합니다.

Stop-Process -Id {{PID}} -Force

3. 검증

Get-NetTCPConnection -LocalPort {{PORT}} -State Listen -ErrorAction SilentlyContinue

출력이 없으면 포트가 해제된 것입니다. 프로세스가 곧 다시 생기면 서비스, 작업 스케줄러, Docker 또는 개발 도구가 자동 재시작하는지 확인하세요.

공식 문서: https://learn.microsoft.com/powershell/module/nettcpip/get-nettcpconnection

댓글 0

아직 댓글이 없습니다.