서버 포트 중복 에러

HeeDong-log·2023년 6월 7일
0

프로젝트를 진행하다가 서버를 열 때 가끔 이런 에러가 뜰 때가 있다.

address already in use ::: (포트번호)

예를 들어서 포트번호가 3000이 찍혀있다고 치면 3000번 포트는 이미 사용중이라 이 포트로는 서버를 열 수 없다는 말이다.

이 때, 터미널에 다음과 같이 입력해보자

lsof -i tcp:3000

여기서 lsof는 list open files의 약자로 시스템에서 열려있는 파일에 대한 정보를 출력해주는 명령어이다.

i 옵션에 프로토콜 이름과 포트 번호를 명시해주면 특정 포트를 사용하는 프로세스 정보를 얻을 수 있다.

i 옵션 뒤에 숫자 4를 넣어주면 IPv4로 오픈한 소켓에 대한 정보들이 나온다.

lsof -i 4

6을 넣으면 IPv6에 대한 정보를 얻을 수 있다.

lsof -i 6

열려있는 모든 네트워크 포트를 확인

lsof -i

열려있는 모든 TCP 포트를 확인하기

lsof -i tcp

그리고 마지막으로 처음에 입력했었던 명령어를 해석해보면

lsof -i tcp:3000

tcp연결로 3000번 포트를 사용하고 있는 프로세스에 대한 정보가 나올것이다.

여기서 중요한건 PID : 프로세스 ID 이다. PID를 확인 후에 다음 명령어에 넣으면

kill -9 PID

해당 PID번호를 사용하고 있던 프로세스를 종료시킨다.

이제 다시 서버가 정상 작동 될 수 있을것이다.

profile
포기하지 않는 코딩 생활-!

0개의 댓글