WindowsPowerShell포트트러블슈팅
포트를 점유한 프로세스 찾아서 종료하기
변수 입력3개
Windows에서 포트를 점유한 프로세스를 종료할 때는 PID뿐 아니라 실행 파일과 서비스 연결 여부를 확인해야 합니다. 관리자 권한 프로세스는 관리자 PowerShell이 필요할 수 있습니다.
Windows에서 {{PORT}} 포트를 점유한 프로세스를 안전하게 찾고 종료하려고 해.
PowerShell 기준으로 프로세스 확인, 서비스 여부 확인, 정상 종료, 검증 순서를 알려 줘.
강제 종료는 마지막 수단으로 구분해 줘.1. 포트와 PID 확인
Get-NetTCPConnection -LocalPort {{PORT}} -State Listen |
Select-Object LocalAddress, LocalPort, State, OwningProcessPID의 실제 프로그램을 확인합니다.
Get-Process -Id {{PID}} | Select-Object Id, ProcessName, Path서비스가 관리하는 프로세스인지도 확인하세요.
Get-CimInstance Win32_Service |
Where-Object ProcessId -eq {{PID}} |
Select-Object Name, DisplayName, State, StartMode2. 종료
일반 프로그램은 먼저 강제 옵션 없이 종료합니다.
Stop-Process -Id {{PID}}Windows 서비스라면 프로세스를 직접 죽이지 말고 서비스를 중지합니다.
Stop-Service -Name '{{SERVICE_NAME}}'응답하지 않을 때만 마지막으로 강제 종료합니다.
Stop-Process -Id {{PID}} -Force3. 검증
Get-NetTCPConnection -LocalPort {{PORT}} -State Listen -ErrorAction SilentlyContinue출력이 없으면 포트가 해제된 것입니다. 프로세스가 곧 다시 생기면 서비스, 작업 스케줄러, Docker 또는 개발 도구가 자동 재시작하는지 확인하세요.
공식 문서: https://learn.microsoft.com/powershell/module/nettcpip/get-nettcpconnection
댓글 0개
아직 댓글이 없습니다.
