리액트나 뷰 등 개발을 할 때면 VS CODE 터미널에서
yarn start 혹은 npm run start로 프로젝트를 실행시키는데 이때 로컬호스트의 포트를 받아와서 실행하게 된다.
그리고 Ctrl + C를 눌러서 해당 포트를 종료시키곤 하는데 이 때 종료가 정상적으로 안되어 재실행하거나 다른프로젝트를 실행하려고 하면
address already in use :::{port} 어쩌고~ 하면서 에러가 뜬다.
이러한 에러를 겪었었고 찾아보았던 해결 방법을 정리하려고 합니다.
우선 포트가 정말 실행중인지를 체크하면서 process ID를 얻기 위하여
터미널에서 다음 명령어를 입력해봅시다.
$ sudo lsof -i :{port}
# 여기 port에는 사용하려고 하는 포트를 입력하면 됩니다.
$ sudo lsof -i :8080
저는 8080번에서 이런 일이 자주 생겨 8080을 예시로 설명해볼게요.
저렇게 입력하면 패스워드 입력하라고 나오는데 컴퓨터 비밀번호 입력하면 됩니다.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 2671 velog 964u IPv4 0****************7 0t0 TCP ***.***.1.***:http-alt->***.***.1.***:***
그럼 터미널에 이렇게 나오는 걸 볼 수 있습니다.
node 서버에서 실행중이고 저기 두번째에 PID밑에 2671 써있는 게 보이시죠
저게 process ID입니다.
PID를 알아냈으면 이제 바로 종료시킵시다.
그럼 이제 다시 터미널에서
$ sudo kill -9 {PID}
방금 찾아낸 PID를 죽입니다.... {PID}자리에 방금 찾은 2671을 입력하면..
$ sudo kill -9 2671
이제 포트가 종료됐으니 다시 체크해보고 싶으신 분은 lsof 명령어 다시 써보시면 아무것도 안나올 겁니다. 종료된 거에요.
그럼 끗.