이클립스 에서이 오류가 발생했습니다.
run:
[java] Error creating the server socket.
[java] Oct 04, 2012 5:31:38 PM cascadas.ace.AceFactory bootstrap
[java] SEVERE: Failed to create world : java.net.BindException: Address already in use: JVM_Bind
[java] Java Result: -1
BUILD SUCCESSFUL
Total time: 10 seconds
왜 지금 나타 났는지 잘 모르겠지만 몇 시간 전에 제대로 작동했습니다. 컴퓨터를 다시 시작해야합니까? 그것의 바닥에 어떻게 도착합니까? 조언이나 조언을 부탁드립니다.
답변
예, 다른 프로세스가 동일한 포트에 바인딩되어 있습니다.
JVM_BIND 오류가 발생할 때마다 Windows Sysinternals의 TCPView (Windows 만 해당) 가 가장 좋아하는 앱입니다. 어떤 프로세스가 어떤 포트에서 수신 대기 중인지를 보여줍니다. 또한 프로세스를 종료하거나 방해가되는 연결을 닫을 수있는 편리한 컨텍스트 메뉴를 제공합니다.
답변
프로세스가 실행중인 포트를 알고 있으면 다음을 입력하십시오
lsof -i:<port>
..
예를 들어, lsof -i:8080
포트 8080에서 실행중인 프로세스 (pid)를 나열합니다.
그런 다음 프로세스를 종료하십시오. kill <pid>
답변
창에서
netstat -ano
모든 프로토콜, 포트 및 프로세스 수신을 나열합니다. 사용하다
taskkill -pid "proces to kill" /f
포트를 수신하는 프로세스를 종료합니다. 예 :
taskkill -pid 431 /f
답변
Mac에서 :
프로세스 종료
터미널 :kill <pid>
pid 찾기 :
터미널 :lsof -i:<port>
Diego Pino의 답변에서
답변
Ubuntu / Unix 에서는 아래 설명 된대로이 문제를 2 단계로 해결할 수 있습니다.
-
유형
netstat -plten |grep java
이것은 다음과 유사한 출력을 제공합니다.
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1001 76084 9488/java
다음
8080
은 Java 프로세스가 청취중인 포트 번호9488
이며 프로세스 ID (pid)입니다. -
점유 된 포트를 해제하려면
kill
명령을 사용하여이 프로세스를 종료해야합니다 .kill -9 9488
9488
이전의 프로세스 ID입니다. 우리가 사용-9
하는 프로세스를 강제로 중지.
이제 포트가 사용 가능해야하며 서버를 다시 시작할 수 있습니다.
답변
(Windows 만 해당)
프로세스를 종료하려면 먼저 프로세스 ID (pid)를 찾아야합니다.
명령을 실행하여 :
netstat -ano | findstr :yourPortNumber
프로세스 ID (PID)를 얻습니다. 이제 동일한 프로세스를 종료하려면 다음 명령을 실행하십시오.
taskkill /pid yourid /f
답변
동일한 포트에서 다른 프로세스가 실행 중입니다.
작업 관리자에서 실행되는 java.exe 서비스 중 하나를 강제 종료 할 수 있습니다. 아무것도 작동하지 않으면 컴퓨터를 다시 시작해도 문제가 해결됩니다. 이전 테스트에서 소켓을 종료하지 않은 것처럼 보입니다. 도움이 되었기를 바랍니다.