본문 바로가기
1인개발자에서 살아남는법!/정보

[개발자 필수] Mac에서 ‘포트 충돌’ 오류 해결하는 방법

by Alan__kang__morlang 2025. 6. 6.
반응형

개발을 하다 보면 종종 "Port already in use"와 같은 에러를 접하게 됩니다.
특히 Spring Boot나 Tomcat, MySQL 등 다양한 서버가 동일한 포트를 사용하려 할 때 문제가 발생하죠.
이 글에서는 Mac에서 특정 포트가 어떤 프로세스에 의해 사용 중인지 확인하고, 해당 프로세스를 종료하는 방법을 정리했습니다.

 

 


✅ 1. 사용 중인 포트 확인하기

특정 포트(예: 8080 또는 1099)가 현재 사용 중인지 확인하려면 다음 명령어를 터미널에 입력하세요:

lsof -i :포트번호

예시:

lsof -i :8080

출력 예시:

COMMAND   PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    96143 alankang  104u  IPv6 ... TCP *:http-alt (LISTEN)
  • COMMAND: 실행 중인 프로세스 이름
  • PID: 프로세스 ID (이 값을 이용해 종료할 수 있음)

✅ 2. 포트를 점유한 프로세스 종료하기

해당 포트를 사용 중인 프로세스를 종료하려면 다음 명령어를 입력합니다:

kill -9 PID

예시:

kill -9 96143

Tip: -9 옵션은 강제 종료를 의미합니다. 안전하게 종료하고 싶다면 -15를 먼저 사용해보고, 실패할 경우 -9를 사용하세요.


✅ 3. 자주 사용하는 포트 예시

서비스 기본 포트
Tomcat 8080
MySQL 3306
PostgreSQL 5432
JMX 1099
Redis 6379

팁: PID 없이 프로세스 바로 종료

아래 명령어는 lsof로 PID를 자동으로 추출해서 한 번에 종료합니다:

kill -9 $(lsof -ti :포트번호)

예시:

kill -9 $(lsof -ti :1099)

 마무리

포트 충돌 문제는 개발 환경에서 자주 발생하는 문제입니다.
위의 명령어들을 잘 활용하면 디버깅 시간을 줄이고 더 원활하게 개발을 진행할 수 있습니다.
특히 Mac에서는 포트를 확인하고 종료하는 루틴을 습관화해두면 다양한 프로젝트를 병행할 때 매우 유용합니다.

 

 

반응형