2024년 9월 24일 화요일

Node.js 서버가 사용하는 포트를 확인하고 해당 포트를 종료하는 방법


1. Node 서버가 사용하는 포트 확인 방법

방법 1: lsof 명령어 사용 (리눅스/맥OS)

lsof -i :<포트번호>

이 명령어는 특정 포트 번호로 열려 있는 프로세스를 확인할 수 있다.

예시:

lsof -i :3000

출력 예시:

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
node     1234 user   22u  IPv4  56789      0t0  TCP *:3000 (LISTEN)

여기서 PID 값이 해당 포트를 사용하는 프로세스의 ID이다.

방법 2: netstat 명령어 사용 (리눅스/맥OS)

netstat -tuln | grep :<포트번호>

이 명령어는 특정 포트 번호가 열려 있는지 확인할 수 있다.

2. 특정 포트 사용하는 프로세스 종료 방법

방법 1: kill 명령어 사용

lsof 또는 netstat 명령어로 확인한 PID 값을 이용해 해당 프로세스를 종료할 수 있다.

kill -9 <PID>

예시:

kill -9 1234

이 명령어는 PID가 1234인 프로세스를 강제 종료한다.

방법 2: fuser 명령어 사용 (리눅스)

fuser -k <포트번호>/tcp

예시:

fuser -k 3000/tcp

이 명령어는 TCP 포트 3000을 사용하는 프로세스를 종료한다.

3. 여러 포트를 동시에 확인하는 방법

방법 1: lsof 명령어 사용 (리눅스/맥OS)

여러 포트를 한 번에 확인할 수는 없지만, 원하는 포트마다 각각 명령어를 실행할 수 있다.

lsof -i :3000 -i :8080 -i :5000

각 포트에 대해 사용 중인 프로세스 정보를 확인할 수 있다.

방법 2: netstat 명령어 사용 (리눅스/맥OS)

여러 포트의 정보를 한번에 확인할 수는 없지만, 네트워크 상태 전체를 조회 후 필요한 정보를 추출할 수 있다.

netstat -tuln | grep ':3000\\\\|:8080\\\\|:5000'

이 명령어는 포트 3000, 8080, 5000에서 동작 중인 프로세스들을 필터링한다.

4. 여러 포트를 사용하는 프로세스 종료 방법

방법 1: lsofkill 조합

각 포트별로 확인한 PID를 모아 아래와 같이 한꺼번에 종료할 수 있다.

kill -9 $(lsof -t -i :3000 -i :8080 -i :5000)

이 명령어는 포트 3000, 8080, 5000에서 실행 중인 프로세스를 한 번에 종료한다.

방법 2: fuser 명령어 사용 (리눅스)

fuser -k 3000/tcp 8080/tcp 5000/tcp

이 명령어는 지정한 여러 포트에서 동작 중인 프로세스를 한꺼번에 종료한다.

관련 사이트 및 블로그