본문 바로가기

IT

이미 사용중인 포트(Port) 확인 및 죽이기

반응형

실행이 되지 않는다.

 

로컬PC에서 웹프로젝트 데모 하나 띄우려고 했는데 80포트를 이미 사용하고 있다고 메시지가 나온다.

Description:

Web server failed to start. Port 80 was already in use.

Action:

Identify and stop the process that's listening on port 80 or configure this application to listen on another port.

 

그럼 //해당 포트 사용 프로세스 확인하고 죽여줘야지..

시스템 환경

  • MacBook Pro (14-inch, M2, 2021)
  • OS: macOS Sonoma (버전 14.0)
  • : Apple M2 Pro
  • 메모리: 16GB

포트확인

lsof 명령어를 사용한다.

//포트확인
~ lsof -n -i TCP:80

//결과
COMMAND   PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    26120 am0720  120u  IPv6 0xc474cb557265599f      0t0  TCP *:http (LISTEN)

lsof 명령어에서 -n 옵션

네트워크 주소를 숫자 형식으로 표시하도록 지정하는 옵션입니다. 기본적으로 lsof 명령어는 네트워크 주소를 호스트 이름으로 표시합니다.

예를 들어, lsof -i :80 명령어를 실행하면 현재 80번 포트를 사용하는 모든 프로세스와 해당 포트에서 수신 또는 송신 중인 모든 연결을 보여줍니다. 이때 -n 옵션을 사용하면 호스트 이름 대신 IP 주소가 표시됩니다.

즉, -n 옵션을 사용하면 lsof 명령어가 네트워크 주소를 숫자 형식으로 표시하므로, DNS 조회를 수행하지 않아도 되어 속도가 빨라집니다. 따라서, -n 옵션은 lsof 명령어의 실행 속도를 향상시키는데 유용합니다.

프로세스 죽이기

kill 명령어를 사용한다.

// 프로세스 죽이기 
// kill -9 <PID>
~ kill -9 26120

// 프로세스 죽음 확인
~ lsof -n -i TCP:80
빈 내용 출력됨

kill -9 의미
-9 옵션은 프로세스를 강제로 종료하는 옵션입니다. -9는 SIGKILL 시그널을 프로세스에 보내어 해당 프로세스를 즉시 종료시킵니다.

SIGKILL 시그널은 가장 강력한 종료 시그널로, 프로세스에게 어떠한 처리의 여지도 주지 않고 즉시 종료하라고 명령합니다. 이 옵션을 사용하면 프로세스는 정상적인 종료 과정을 거치지 않고 즉시 종료되므로, 프로세스가 어떤 상태에 있던 간에 강제로 종료됩니다.

예를 들어, kill -9 명령어를 사용하여 특정 프로세스를 강제로 종료할 수 있습니다. 는 종료하려는 프로세스의 식별자인 프로세스 ID(Process ID)를 나타냅니다.

-9 옵션은 프로세스를 강제로 종료해야 할 때 사용됩니다. 그러나 이 옵션은 프로세스가 자원을 정리하거나 중요한 작업을 수행하지 못하고 종료되므로, 가능한 경우에는 -9 옵션 대신 다른 종료 시그널을 사용하는 것이 좋습니다. 대부분의 경우, kill 명령어에 별도의 옵션이 지정되지 않으면 기본적으로 SIGTERM 시그널이 사용됩니다.


#port #포트 #PID #프로세스 #스프링부트 #포트죽이기 #kill #lsof


끝.

반응형