본문 바로가기

기록/Web

[Tomcat 오류] Several ports (8005, 8081, 8009) required by TomcatServer v9.0 are already in use.

SMALL

오류메시지 : Several ports (8005, 8081, 8009) required by TomcatServer v9.0 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).


기존 포트와 실행하려는 톰캣 서버의 포트가 충돌할 때 발생하는 오류이다. 포트 지정시 8080을 제외한 이유는 충돌났을때 cmd로 포트를 kill하고 재시작하는 방법이 빠르고 쉬운데, 8080은 다른 소프트웨어에서도 자주 사용되는 포트이기때문에 잘못 건드릴 수가 있다. 8080 외의 자주 사용되는 포트는 아래 url을 참고하자.

 

https://siane.tistory.com/39

 

임의의 포트 사용시 피해야 할 포트 번호

아래의 포트번호는 다른 장치 / 소프트웨어에서 대부분 사용하는 포트입니다. 포트번호 용도 포트번호 용도 1 tcpmux 115 sftp 7 echo 117 uucp-path 9 discard 119 NNTP 11 systat 123 NTP 13 daytime 135 loc-sr..

siane.tistory.com

결론적으로, 해당 포트가 이미 실행되고 있어 이 포트를 kill하고 재시작해야한다.

방법은 다음과 같다.

1. cmd 콘솔창을 (관리자 모드 쉘이 별도로 있는 경우에는 관리자 권한으로) 실행

2. 해당 포트를 사용하고 있는 프로세스 아이디 확인

netstat -nao | findstr 포트번호

3. 포트 강제종료

taskkill /F /PID 포트번호

 

다시 서버를 실행시키면 문제 없이 동작한다.

 


명령어 살펴보기

더보기

netstat -nao | findstr 포트번호

명령어

netstat : 네트워크 연결을 보여주는 명령이다. 유닉스 기반, 윈도우 기반 운영체제 쉘에서 모두 사용 가능하다.

 

옵션

-a : 모든 네트워크 상태 출력 (-all)

-n : 도메인 주소를 숫자로 출력(-numeric)

-o : 연결대기시간 출력 (-timers)

 

| : 여러 명령어를 동시 실행시킬때 사용하는 일종의 연결자

findstr : 앞 문자열의 결과(netstat -nao)중 "포트번호"가 포함된 결과만 뽑아서 출력한다.

 

taskkill /F /PID 포트번호

명령어

taskkill : PID 또는 이미지로 실행중인 작업 종료

 

옵션

/F : 프로세스를 강제로 종료

/PID : 종료할 프로세스 ID (PID) 지정

 

 

SMALL