본문 바로가기

배움의미학/JAVA

특정 포트를 사용중인 프로세스 알아내서 종료시키기.. 8080포트를 이미 사용중이래요..

반응형

톰캣 서버 구동시 포트를 이미 사용중이라는 에러메세지가 뜨면서 서버가 구동이 되지 않는거다. 정말 이상한건 특별히 8080를 쓰겠다고 설정해 놓은게 없었다는 것! 찾아보니 javaw.exe가 사용하는게 밝혀졌는데 도대체 javaw.exe가 어디에서 8080를 쓰느라고 잡고 있었던 걸까? 미쳐 밝혀내기도 전에 프로세스 끝내기를 하고 말아서 의혹은 커져간다. 하지만 다시금 잘 되고 있으니 언제 서버 구동이 안됬냐는 듯.. javaw.exe가 8080포트를 잡고 있었다는건 금새 잊겠지?


실행 > cmd

c:>netstate -ano

netstat는 프로토콜 통계 및 현재 TCP/IP 네트워크 연결을 표시한다.
 -a            모든 연결 및 수신 대기 포트를 표시.
 -n            주소 및 포트 번호를 숫자 형식으로 표시.
 -o            각 연결의 소유자 프로세스 ID를 표시.

 Proto  Local Address          Foreign Address        State           PID
 TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       1528
 TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       1000
 TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
 TCP    0.0.0.0:1072           0.0.0.0:0              LISTENING       3028
 TCP    0.0.0.0:6004           0.0.0.0:0              LISTENING       1728
 TCP    0.0.0.0:8080          0.0.0.0:0              LISTENING       3028
 TCP    0.0.0.0:11061          0.0.0.0:0              LISTENING       3028
 TCP    0.0.0.0:11080          0.0.0.0:0              LISTENING       3028
 TCP    0.0.0.0:11443          0.0.0.0:0              LISTENING       3028

대충 이런식으로 현재 사용되고 있는 정보가 쭉 표시된다.
여기서 8080포트를 사용하고 있는 PID를 잘 봐둔다.

Ctrl + Alt + Delete 를 눌러서 Windows 작업 관리자를 연다.
보기 > 열선택 > PID(프로세스 식별자)
uncheck 되있는걸 check 한다.

그럼 windows 작업 관리자에서는 이미지이름, PID, 사용자이름, CPU, 메모리사용 같은게 나올것..
여기서 미리 살펴본 8080포트를 사용중인 PID를 찾아서 프로세스 끝내기 클릭
프로세스가 강제 종료되며 8080포트는 자유.

톰캣을 다시 실행시키면 잘 실행되는 것을 볼 수 있다.

반응형