로컬 개발 환경에서 Tomcat이나 Java 애플리케이션을 실행하다 보면 특정 포트가 이미 사용 중이라는 오류가 발생하는 경우가 있습니다.
예를 들어 1099 포트를 사용해야 하는데 이미 다른 프로세스가 점유하고 있다면 서버가 정상적으로 실행되지 않을 수 있습니다.
이럴 때 Windows에서 해당 포트를 사용하고 있는 프로세스를 확인하고 종료하는 방법을 정리해보겠습니다.
1. 1099 포트를 사용 중인 프로세스 확인
먼저 명령 프롬프트(CMD)를 실행합니다.
다음 명령어를 입력합니다.
netstat -ano | findstr :1099
실행하면 다음과 비슷한 결과가 표시됩니다.
TCP 0.0.0.0:1099 0.0.0.0:0 LISTENING 12345
가장 오른쪽에 있는 숫자가 해당 포트를 사용하고 있는 프로세스의 PID입니다.
위 예시에서는 PID가 12345입니다.
2. 어떤 프로세스인지 확인
PID를 확인했다면 어떤 프로그램이 해당 프로세스를 실행하고 있는지 확인할 수 있습니다.
tasklist | findstr 12345
예를 들어 다음과 같이 표시될 수 있습니다.
java.exe 12345 Console 1 250,000 K
이 경우 Java 프로세스가 1099 포트를 사용하고 있다는 것을 알 수 있습니다.
Tomcat이나 다른 Java 애플리케이션을 종료했는데도 java.exe 프로세스가 남아 있다면 정상적으로 종료되지 않은 프로세스일 가능성이 있습니다.
3. 프로세스 강제 종료
종료해도 문제가 없는 프로세스인지 확인한 뒤 다음 명령어를 실행합니다.
taskkill /PID 12345 /F
/F 옵션은 프로세스를 강제로 종료하는 옵션입니다.
정상적으로 종료되었다면 프로세스가 종료되었다는 메시지가 표시됩니다.
4. 포트가 정상적으로 해제됐는지 확인
다시 처음 사용했던 명령어를 실행합니다.
netstat -ano | findstr :1099
아무 결과도 나오지 않는다면 현재 1099 포트를 점유하고 있는 프로세스가 없다는 의미입니다.
이후 Tomcat이나 애플리케이션을 다시 실행하면 됩니다.
한 번에 처리하려면
이미 PID를 알고 있다면 아래 두 단계만으로 처리할 수 있습니다.
netstat -ano | findstr :1099
taskkill /PID [PID번호] /F
예를 들어 PID가 12345라면 다음과 같습니다.
taskkill /PID 12345 /F
주의할 점
taskkill /F는 해당 프로세스를 강제로 종료하기 때문에 PID만 확인하고 바로 종료하는 것은 권장하지 않습니다.
먼저 아래 명령어로 어떤 프로세스인지 확인하는 것이 안전합니다.
tasklist | findstr [PID번호]
특히 여러 Java 애플리케이션을 동시에 실행하고 있다면 java.exe라는 이유만으로 종료하지 말고 PID가 맞는지 확인해야 합니다.
정리
Windows에서 특정 포트가 이미 사용 중일 때는 다음 순서로 해결할 수 있습니다.
- netstat -ano | findstr :포트번호로 PID 확인
- tasklist | findstr PID로 프로세스 확인
- 종료해도 되는 프로세스인지 확인
- taskkill /PID PID번호 /F로 종료
- netstat으로 포트가 해제됐는지 다시 확인
1099 포트뿐만 아니라 8080, 8081, 3000, 3306, 5432 등 다른 포트가 충돌하는 경우에도 포트 번호만 변경해서 동일하게 사용할 수 있습니다.
'IT' 카테고리의 다른 글
| Windows 11 시작 프로그램 끄는 방법|컴퓨터 부팅 느릴 때 가장 먼저 확인할 것 (0) | 2026.09.20 |
|---|