포트 충돌 시 프로세스 자동 제거, 확인 후 제거

김강현·2022년 7월 31일
0
post-thumbnail

Several ports required by Server are already in use.
Starting Server has encountered a problem.

Eclipse가 맛가면서 tomcat도 같이 가버림

작업관리자에서 javaw.exe 작업끝내기 하면 됨

또는 포트번호로 찾아서 종료
보통은 8080, 8005, 8009 포트 모두 같은 PID이니 한개의 PID로 종료하면 모두 종료됨(Tomcat 기본 설정 시)

자동 제거

특정 포트를 사용하는 프로세스를 자동으로 종료

👉 실행 👈

@echo off
echo ---------------------------------------------------------
echo ------[8080 포트를 사용하는 프로세스를 종료합니다]-------
echo ---------------------------------------------------------
set killport=8080
for /f "tokens=5" %%p in ('netstat -aon ^| find /i "listening" ^| find "%killport%"') do taskkill /F /PID %%p
pause

를 bat 파일로 만들어서 실행


👉 실행 결과 👈

---------------------------------------------------------
------[8080 포트를 사용하는 프로세스를 종료합니다]-------
---------------------------------------------------------
성공: 프로세스(PID 9516)가 종료되었습니다.
오류: 프로세스(PID 9516)를 종료할 수 없습니다.
원인: 실행 중인 작업 인스턴스가 없습니다.
계속하려면 아무 키나 누르십시오 . . .


한글이 깨진다면 UTF-8로 저장하지 말고 ANSI로 저장



확인 후 제거

어떤 프로세스가 그 포트를 사용하고 있는지 확인하려면

👉 실행 👈

@echo off
netstat -a -n -o -p tcp | find "8080"
pause

를 bat 파일로 만들어서 실행

👉 실행 결과 👈

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


이렇게 확인한 PID(프로세스 ID)를 제거 하려면

👉 실행 👈

taskkill /f /pid 17124

CMD 실행 후 위 명령어를 실행


참고사이트 [https://immose93.tistory.com/11](https://immose93.tistory.com/11)
profile
개발 기록장

0개의 댓글