본문 바로가기

카테고리 없음

MAC 특정 포트를 사용중인 프로세스 강제로 종료하기

업무를 하다보면 intelliJ가 말을 듣지 않을 때가 (매일)있다.

 

기다림 끝에 강제종료 후 재실행하여 디버그 버튼을 누르면..

Port 8080 is already in use

위와 같은 에러가 뜬다.

 

강제 종료 간에 프로세스를 정상적으로 종료시키지 못해서 해당 포트를 계속 사용중인 경우이다.

 

해결법은 아래와 같다.

sudo lsof -i :${PORT_NUMBER} //특정 포트를 사용하는 PID(프로세스 ID) 확인
sudo kill -9 ${PID} //특정 PID 사용중인 프로세스 강제 종료

lsof 는 list open files의 약자이며 OS 범용성이 상당히 높은 명령어이다.

-i 옵션과 프로토콜(생략가능):포트로 원하는 프로세스의 정보를 알아낼 수 있다.

 

kill 명령어는 프로세스를 종료하는 것이며

-9 옵션은 강제로 종료하는 옵션이다.