본문 바로가기
Error 정리

[Error] Address already in use: bind

by sky-j 2023. 5. 31.
반응형

[Error] Address already in use: bind

이 오류 메시지는 일반적으로 프로그램이 특정 네트워크 주소 및 포트에 바인딩하려고 하지만 다른 프로그램이 이미 해당 주소 및 포트 조합을 사용하고 있을 때 발생. 기본적으로 주소는 이미 사용 중이며 이를 사용하는 현재 프로그램이 해당 주소를 해제할 때까지 다시 바인딩할 수 없다.

따라서, 해당 포트 번호로 사용되고 있는 프로그램을 찾아보자.

터미널에 입력 (내가 사용하려고 하는 포트번호는 9093)

netstat -an | grep 9093

결과 : 역시나 사용되고 있었다

 TCP    0.0.0.0:9093           0.0.0.0:0              LISTENING
 TCP    [::]:9093              [::]:0                 LISTENING

내가 원하는 프로그램을 9093에 연결하기 위해 사용을 중지하자

  1. lsof -i :<포트 번호> 명령을 실행하여 포트 번호를 사용하는 프로세스의 프로세스 ID(PID)를 찾기. 예를 들어 포트 번호가 9093이면 netstat -ano | findstr :9093을 실행.
netstat -ano | findstr :9093

결과

  TCP    0.0.0.0:9093           0.0.0.0:0              LISTENING       25456
  TCP    [::]:9093              [::]:0                 LISTENING       25456

   2. ID(PID)로 kill을 해보자 : taskkill /PID PROCESS_ID /F

taskkill /PID 25456 /F
반응형