톰캣 포트 겹침

반응형

오류 내용

Several ports (8080, 8009) required by Tomcat v8.5 Server at localhost are already in use. 
The server may already be running in another process, or a system process may be using the port. 
To start this server you will need to stop the other process or change the port number(s).

 

주요 원인


원인 01 : 톰캣이 실행하려고 할 때 이를 무시하고, 다시 Run (톰캣 재시작)을 눌렀을 때

자세한 원인 : 톰캣을 실행 하려고 준비 중이었는데 무시하고 바로 또 Run를 할 경우 포트가 제대로 꺼지지 않았기 때문에 오류가 뜬다.
원래는 톰캣 실행이 다 끝나고 또 실행하면 겹치지않고 기존에 톰캣이 종료되고 새 프로세스를 가진 톰캣이 시작되는 게 정상이다.

 

원인 02 : 또 다른 프로그램이 8080 or 8009 등 톰캣에 필요한 포트를 점유하고 있기 때문입니다.

 

원인 03 : 이클립스(혹은 다른 IDE) 프로그램 강제종료 후 톰캣 재실행했을 때 좀비 프로세스가 남아있는 경우.

 

 

해결 (윈도우(Windows GUI))


GUI (Graphical User Interface)로 해당 프로세스 끄기

 

작업 관리자 창 실행

0.Windows 키 + R → 실행창에 taskmgr

javaw.exe 프로세스 종료
1. 작업 관리자 세부 정보 javaw.exe 작업 끝내기(강제 종료)


해결 (윈도우(Windows CLI))


CLI (Command Line Interface)로 해당 프로세스 끄기

명령 프롬프트 실행
0.Windows 키 + R 실행창에 cmd 

포트 찾기 명령어


특정 포트가 열려 있는지 확인
1.netstat -na | findstr 8009 

열려 있는 포트의 PID 확인
2.netstat -nao | findstr 8009

PID(Process IDentifier) 찾기 
3.tasklist |findstr "PID"

 

PID 프로세스 종료 (죽이기)
4.taskkill /f /pid "PID"

★ 참고 : "PID" 부분에 PID를 적으시고 명령어를 실행하면 됩니다. PID는 계속 변경됩니다.


해결 (리눅스(linux))


리눅스 (linux) 해당 프로세스 끄기


열려있는 포트 확인
1.netstat -tnlp

 

특정 포트(8080) 상태 확인
2.netstat -nap | grep 8080

 

특정 포트(8080) 종료
3.fuser -k -n tcp 8080


※ 주의 : 리눅스는 윈도우랑 다르게 PID가 아닌 port로 명령어를 실행합니다.

반응형

'Tomcat' 카테고리의 다른 글

[Tomcat] JNDI(Java Naming and Directory Interface) 설정 총 정리  (1) 2020.04.19

+ Recent posts