[Windows] 사용 중인 포트를 찾아서 종료하는 방법(Port Kill)

스프링부트에서 서버를 실행할 때 포트(Port)가 이미 사용 중여서 오류가 뜨는 경우가 생깁니다. 이 말인 즉슨, 8080 포트를 이미 사용 중이라는 내용인데 이 포트를 종료해야 해당 번호의 포트로 서버를 실행할 수 있습니다.

 

서버 포트를 종료하는 방법

1. 윈도우 검색창에 명령 프롬프트를 검색한 후에, 관리자 권한으로 실행합니다.

  •  Window(시작) + R을 누른 후에 cmd를 입력하여 열어줘도 됩니다.

2. "netstat -a -o"를 입력합니다.

  • 이 명령어를 통해 현재 어떤 포트가 어떤 PID로 있는지 확인이 가능합니다.
  • netstat : 시스템 관리 명령어로써 네트워크의 상태를 보여주는 명령어입니다.
  • -a (All) : 현재 모든 연결 상태를 보여줍니다. 현재 열려 있는 모든 포트와 연결된 모든 소켓 정보를 볼 수 있습니다.
  • -o (Owner) : 각 연결에 대해 프로세스 ID(PID)를 표시합니다. 특정 네트워크 연결이나 포트를 사용 중인 프로세스가 무엇인지 확인할 때 유용합니다.
💡각 필드에 대한 설명
- 프로토콜 : 인터넷 프로토콜 중 TCP와 UDP 중 하나를 의미합니다. TCP는 전화와 같이 서로 연결된 후 통신하는 것을 말하고, UDP는 편지와 같이 서로 연결되지 않은 상태에서 통신하는 방식을 말합니다.
- 로컬주소 : 내 컴퓨터의 인터넷 주소와 포트를 표시해줍니다.
- 외부주소 : 내 컴퓨터가 통신하고 있는 인터넷 상의 상대방 IP 주소와 연결 중인 포트를 보여줍니다.
- 상태 : 내 컴퓨터와 상대방 컴퓨터 간의 통신 상태를 나타냅니다.
- PID : Process ID의 줄임말이고 운영체제에서 프로세스를 식별하기 위해 부여하는 번호를 의미합니다.

 

3. "taskkill /f /pid PID번호" 를 입력합니다.

  • taskkill: 프로세스를 종료하는 명령어입니다.
  • /f (Force): 프로세스를 강제로 종료합니다. 일반적인 종료 명령으로 종료되지 않는 프로세스도 이 옵션을 사용하면 강제로 종료됩니다.
  • /pid: 종료하려는 프로세스의 프로세스 ID(PID)를 지정하는 옵션입니다.

4. 프로세스가 종료되었다고 나오면 port kill이 성공적으로 이루어진 것입니다.

5. 이후, 다시 서버를 실행되었을 때 성공했다는 것을 알 수 있습니다.