tomcat 포트 겹침

반응형

오류 내용

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