본문 바로가기

[mac, windows] 사용중인 특정 포트(port) 강제 종료

출입금지 발행일 : 2023-07-02

[mac,  windows] 사용중인 특정 포트(port) 강제 종료

 

로컬 환경에서 웹 사이트 개발 작업을 하다보면 웹 서버를 실행하기 위해 특정 포트를 열어야 합니다. 그러나 웹 서버를 실행하려는 포트가 이미 다른 웹 서버나 서비스에 의해 사용 중인 경우 "address already in use"라는 메시지가 표시됩니다. 이는 로컬 환경에서 작업 중인 사이트를 띄우기 위해 사용하려는 포트가 이미 다른 서비스나 이전에 실행한 웹 서버에 의해 점유되어 있는 것을 의미합니다. 이 문제는 다른 서비스가 해당 포트를 이미 사용 중인 경우나 이전에 실행한 웹 서버가 종료되지 않고 프로세스가 남아 있는 경우에 발생할 수 있습니다.

이러한 상황에서는 몇 가지 조치를 취할 수 있습니다. 예를 들어, 다른 포트 번호를 사용하거나 이미 점유한 프로세스를 종료하면 됩니다. 또는 시스템을 재부팅하여 모든 프로세스를 초기화한 후 다시 시도할 수도 있습니다.

문제 해결을 위해 다음과 같은 단계를 따를 수 있습니다:


1. 다른 포트 번호 사용

이미 사용 중인 포트 번호를 변경하여 충돌을 피할 수 있습니다. 예를 들어, 웹 서버를 실행하려는 포트가 8080이라면 8081 또는 다른 유효한 포트 번호를 사용해 보세요. 웹 서버는 일반적으로 80번 포트를 기본으로 사용합니다.

2. 점유한 프로세스 종료

이미 점유한 포트를 사용하는 프로세스를 종료해야 합니다. 이를 위해 다음 단계를 수행하세요.

   - macOS/Linux에서는 터미널을 열고 다음 명령을 실행합니다.
     sudo lsof -i :포트번호
     위 명령은 해당 포트를 사용하는 프로세스의 PID를 확인합니다. 그런 다음 PID를 사용하여 다음 명령으로 프로세스를 종료합니다.
     kill -9 PID


   - Windows에서는 명령 프롬프트(cmd)를 열고 다음 명령을 실행합니다.
     netstat -ano | findstr :포트번호
     위 명령은 해당 포트를 사용하는 프로세스의 PID를 확인합니다. 그런 다음 PID를 사용하여 다음 명령으로 프로세스를 종료합니다.
     taskkill /PID PID /F


3. 시스템 재부팅

위 단계를 시도한 후에도 문제가 지속된다면 시스템을 재부팅하여 모든 프로세스를 초기화한 후 다시 시도해 보세요.

위의 조치를 시도하면 대부분의 경우 "address already in use" 오류를 해결할 수 있습니다.

반응형

댓글