stamper

[Windows] 포트 사용 프로세스를 찾아 종료 전 확인하기

stamper2026. 8. 28.조회 32추천 0

[Windows] 포트 사용 프로세스를 찾아 종료 전 확인하기

사용 상황

TCP 수신 포트의 PID와 프로그램 정보를 확인하고 종료 판단에 필요한 근거를 모읍니다.

적용 환경과 권한

Windows PowerShell 5.1 기준. Windows 시스템 cmdlet은 Windows 환경이 필요합니다. 일반 사용자 권한에서 시작하고 접근 실패는 메시지로 확인합니다. PowerShell 7 호환성은 별도 실행하지 않았습니다.

명령

$portNumber = 8080
$connections = @(Get-NetTCPConnection -LocalPort $portNumber -State Listen -ErrorAction SilentlyContinue)
if ($connections.Count -eq 0) { 'TCP 수신 항목 없음. 포트·프로토콜·권한을 확인하세요.' }
$connections | Select-Object LocalAddress, LocalPort, OwningProcess
$connections.OwningProcess | Sort-Object -Unique | ForEach-Object {
    Get-Process -Id $_ -ErrorAction SilentlyContinue | Select-Object Id, ProcessName, Path
}
# 이 글은 확인용입니다. PID만 보고 강제 종료하지 않습니다.

경로·주소·패키지·포트는 자신의 대상에 맞게 지정합니다. 예제에 있는 기존 파일 보호 조건은 유지하세요.

출력과 해석 — 설명용

설명용: LocalPort=8080, OwningProcess=4321 / ProcessName=node. PID는 매번 다릅니다. TCP Listen 조회이며 UDP 점유는 별도입니다.

여기 적은 출력은 설명용입니다. 실제 격리 실행 범위와 결과는 아래 검증 기록을 기준으로 판단하세요.

검수 기준

  • 현재 PID와 프로그램 이름을 다시 확인했는가
  • 서비스·다른 사용자 프로세스인지 확인했는가
  • 조회 없음과 접근 실패를 구분했는가

실패 시 수정과 복구

프로세스가 종료돼 조회 사이 사라질 수 있다. Path가 비어 있으면 권한·프로세스 상태를 확인한다. 종료 대신 해당 앱의 정상 종료를 먼저 사용한다. 자동 Stop-Process를 포함하지 않으며 읽기 전용이다.

검증 환경·검증일·출처

검토일: 2026-10-10.

실행 범위: 직접 만든 루프백 TCP 리스너의 PID 조회. 실제 서비스 종료 미실행.

Microsoft 공식 문서

명령 인자 안내: LiteralPath는 경로 문자를 그대로 취급합니다. ErrorAction Stop은 처리 가능한 오류를 예외로 중단시킵니다. 조회 결과 없음과 실패는 동일하지 않습니다.

이 글이 도움이 되었나요?

댓글 0개

나

아직 댓글이 없습니다.