톰캣 실행 중에 이클립스가 갑자기 응답 없음 상태가 되서 그냥 껐습니다. 다시 켜서 서버를 실행하니 다음 에러가 발생했습니다.
Several ports (8005, 8080, 8009) required by Tomcat v9.0 Server at localhost are already in use.
포트를 사용상태를 확인합니다. cmd창을 켭니다.
netstat -a -n -o
-a(=--all) : 이 옵션이 없으면 established(연결된) 상태만 나옵니다. listening 중인 것을 찾아야 하기 때문에 붙여줍니다.
-n(number port) : 주소와 포트번호를 숫자형식으로 출력합니다.
-o : process id를 표시합니다.
또는 예상되는 포트번호(8005, 8080, 8009)에 대해
netstat -n | grep(윈도우 powershell에선 select-string) [포트번호]를 수행해봅니다.
확인해보니 localhost의 8005번 포트가 Listening중이었습니다. 그걸 죽입니다.
taskkill /f /pid [pid번호]
다시 톰캣을 실행해보면 정상 작동합니다.
톰캣을 켰다 껐다 하면서 네트워크 상태를 netstat으로 확인해 볼 수 있습니다.