![](https://blog.kakaocdn.net/dn/MDJs9/btqEanvCm4x/BnkI31sBPaTLTNK53JGJJ0/img.png)
java.net.BindException 주소가 이미 사용중입니다 에러 해결방법
회사 톰캣서버를 재기동 할일이 생겨서 sh shutdown sh 명령어로 톰캣 기동을 중지시켰습니다.
빌드를 시작하고 sh startup sh 명령어를 입력하고 톰캣이 잘 올라가나 로그를 보고있는데 응? 에러가 발생?
로그를 살펴보니 주소가 이미 사용중이라는 에러가 발생하였습니다.
심각: Failed to initialize end point associated with ProtocolHandler ["ajp-bio-8012"]
java.net.BindException: 주소가 이미 사용 중입니다 (Bind failed) <null>:8012
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:411)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:640)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:813)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)
Caused by: java.net.BindException: 주소가 이미 사용 중입니다 (Bind failed)
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at java.net.ServerSocket.<init>(ServerSocket.java:181)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:398)
... 16 more
톰캣 중지 스크립트를 실행하였으나, 톰캣이 죽지 않았나봅니다...
해결방법은 강제로 톰캣을 중지 시키면 됩니다.
톰캣 실행한 곳이 Window 일경우
1. 명령픔롬프트창을 엽니다. 단축키(윈도우키+R > 실행창에 cmd 입력)
2. netstat -ano | find "톰캣포트" 를 입력합니다. ex) netstat -ano | find 8080
3. kill 톰캣포트 (tomcat KILL명령어) ex) kill 8080
4. tomcat 재기동
톰캣의 포트가 실행중이면 LISTENING 이 나옵니다.
톰캣이 실행중이지 않으면 아무것도 나오지 않습니다.
KILL 명령어로 포트를 죽인 다음에 다시 톰캣을 기동하면 됩니다.
![](https://blog.kakaocdn.net/dn/bpohxy/btqD7HJinrh/HjLo6u02y3C079KyX09fk0/img.png)
톰캣 실행한 곳이 리눅스 일경우
1. px -ux 명령어를 입력합니다.
2. 현재 실행중인 프로세스가 나오게 되는데 command에 현재 실행중인 톰캣목록이 나오게 됩니다.
3. kill할 톰캣의 왼쪽상단에 있는 pid를 찾습니다
4. kill -9 pid ex) kill -9 14620
5. tomcat 재기동
![](https://blog.kakaocdn.net/dn/xFhqV/btqD8N9TdJd/D54QkvWXVUgpiI2zClTIvk/img.png)
kill -9 는 kill의 명령어 시그널 입니다.
kill - [SIGNAL] PID
실행중인 특정 프로세스에게 시그널을 함께 보내는것이지요.
시그널 리스트는 " kill -l "명령어를 통해 확인하실 수 있습니다.
![](https://blog.kakaocdn.net/dn/bbbV9A/btqD7GKuv1u/I6BBwCAeK943X4qi3oXYE0/img.png)
'일상 > Etc' 카테고리의 다른 글
프로그래밍 언어 웹에서 실행하는 추천 사이트 (0) | 2020.06.21 |
---|---|
[windows] 윈도우10 KB4535996 오류 해결방법 (0) | 2020.06.14 |
[nexus]넥서스 maven jar 파일 업로드 하기 (0) | 2020.05.18 |
[톰캣에러해결] 톰캣 충돌 포트 강제 종료시키기 required by front is already in use (0) | 2020.05.18 |