Network

사용 중인 포트 확인 및 중지 방법 (Port 8100 was already in use.)

15호의 개발자 2022. 2. 18. 09:47
반응형

사용 중인 포트 확인 및 중지 방법 (Port 8100 was already in use.)

 

 

톰캣 서버가 비정상적으로 종료되었을 때 아래와 같은 에러 메시지가 뜰 수 있다.

올려 놓은 WAS를 내리지 않은 상태로 바로 이클립스를 종료하는 경우 등이 비정상적으로 종료되었을 때에 해당한다.

이는 WAS는 내려갔지만 해당 포트는 여전히 사용 중인 상태로, 톰캣 서버를 재구동 할 경우 아래와 같은 에러가 뜬다.

 

***************************
APPLICATION FAILED TO START
***************************

Description:

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

Action:

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

 

 

 

해결 방법 1.

 

1. 현재 사용 중인 포트 정보를 확인한다.

cmd창을 연 후(윈도우키+R) 아래의 명령어를 입력한다.

netstat -a -n -o | findstr 8100
  또는
netstat -ano | findstr 8100
findstr은 리눅스의 grep에 해당하는 명령어이다.
taskkill 하고 싶은 포트 번호를 입력하면 된다.

 

참고로, findstr 명령어를 입력하면 각각의 값들이 무엇을 의미하는지는 생략되어서 나온다. 아래를 참고하면 된다.

프로토콜  로컬 주소              외부 주소              상태            PID
  TCP    0.0.0.0:8100           0.0.0.0:0              LISTENING       2580

 

 

 

(cf) 모든 포트 정보를 확인하고 싶으면 파이프라인(|) 뒷 부분을 제외하면 된다.

netstat -a -n -o
 또는
netstat -ano

 

 

 

2. 포트의 PID으로 taskkill 한다.

netstat으로 확인한 포트의 '상태'는 LISTENING일 것이다. 그 포트의 PID를 기억한 후 아래 명령어를 입력한다.

taskkill /f /pid 2580

 

아래와 같이 성공 메시지가 뜨면 완료된 것이다.

성공: 프로세스(PID 2580)가 종료되었습니다.

 


 

해결 방법 2.

윈도우 작업관리자로 들어가서

OpenJDK Platform binary 프로세스를 종료시킨다.

(우클릭>작업끝내기)

 

떠있는 포트 수만큼의 프로세스가 뜰 것이며 모두 종료시키면 된다.

 

 

반응형