Server
[Windows] 특정 포트 사용 프로세스 종료하기
devhyen
2024. 8. 8. 09:15
문제상황 🤔
개발 중 인텔리제이에서 서버 종료를 했음에도 불구하고 해당 포트가 여전히 사용중이라 종료해야 했다.
해결방법 🛠️
1. 명령 프롬프트 실행
- 단축키: Win+R 입력 후, cmd 입력하여 실행
2. 현재 사용중인 포트 확인
netstat -ano | findstr: 8080
- 8080 : 확인하려는 포트 번호
- 출력 예시
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1234
- 1234 : 해당 포트를 사용중인 프로세스 ID(PID)
3. pid를 확인하여 프로세스 종료
taskkill /f /pid 1234
- /F : 강제 종료 옵션
- 1234 : 종료하려는 프로세스의 PID
위 방법을 통해 해당 프로세스를 찾아 종료해서 문제를 해결했습니다.
자주 발생하여
PowerShell을 활용한 자동화 스크립트를 공유드립니다.
$port = 8080; $processId = (netstat -aon | Select-String ":$port" | Select-String "LISTENING" | ForEach-Object { $_ -replace ".*\s(\d+)$", '$1' }); if ($processId) { Stop-Process -Id $processId -Force } else { Write-Output "No process found using port $port" }
- $port: 종료하려는 포트 번호
- Get-NetTCPConnection: 현재 TCP 연결 정보를 가져옴
- Stop-Process: 해당 PID의 프로세스를 종료
주의:
- PowerShell을 관리자 권한으로 실행해야 합니다.
- Windows 10 이상에서 사용 가능합니다.
위 방법 중 발생 할 수 있는 오류와 해결 방법
🔹 오류 1: Access is denied.
원인:
- 명령 프롬프트 또는 PowerShell이 관리자 권한으로 실행되지 않음
해결 방법:
- 명령 프롬프트 또는 PowerShell을 관리자 권한으로 실행합니다.
- 방법: 시작 메뉴에서 cmd 또는 PowerShell 검색 후, 우클릭하여 '관리자 권한으로 실행' 선택
🔹 오류 2: No process found using port 8080.
원인:
- 해당 포트를 사용하는 프로세스가 이미 종료되었거나 존재하지 않음
해결 방법:
- 포트 번호를 확인하고, 올바른지 재확인합니다.
- 다른 포트를 사용 중인 프로세스가 문제를 일으키는지 확인합니다.