[트러블슈팅 #3] 포트 충돌시 해결방법
포트 충돌시 해당 포트를 점유하는 프로세스의 PID 조회하기
💡 cmd에서 포트 점유중인 프로세스 찾는 명령어
예) 443번 포트를 사용하는 프로세스 찾기
올바른 명령어는 아래와 같다
netstat -ano | findstr ":443"
netstat -ano: 네트워크 연결 정보를 보여주는 명령이다.
-a는 모든 연결과 리스닝 포트를, -n은 숫자 형식으로 IP 주소와 포트를 출력하며, -o는 해당 연결을 사용하는 프로세스의 PID(Process ID)를 표시한다.
findstr ":443": findstr 명령은 주어진 문자열을 찾는 명령으로, :443을 포함하는 줄을 찾아 표시한다.
만약 다른 포트도 확인하고 싶다면, 포트 번호만 변경해서 사용하면 된다.
🚨 주의사항
findstr ":443"
이렇게 " "문자열 안에 포트번호구분자인 컬럼이랑 포트번호를 명시해야 한다.
아래처럼 포트번호만 쓰면 결과값 조회되지 않음.
netstat -ano | findstr 443
💡 해당 포트를 점유중인 프로세스의 PID로 프로그램 조회하기
netstat -ano | findstr ":443" 명령어를 사용하면, 해당 포트를 점유하고 있는 **프로세스의 PID(프로세스 ID)**를 확인할 수 있다. 그러나 이 명령어만으로는 어떤 프로그램이 해당 포트를 사용하고 있는지는 알 수 없다. 다만, PID를 알아냈다면, 그 PID에 해당하는 프로그램을 확인할 수 있다.
Windows에서 1234 PID에 해당하는 프로세스 이름을 알려주는 명령어
tasklist /FI "PID eq 1234"
💡 해당 포트를 점유중인 프로세스 강제 종료하는 명령어
리눅스/유닉스에서는 kill -9로 프로세스를 강제 종료한다.
kill -9 1234
이 명령어는 해당 프로세스를 즉시 종료시키는데, -9 옵션은 "강제 종료(signal 9)" 옵션이다.
그래서 이 방법은 일반적인 종료 시그널(kill만 사용)로 종료되지 않는 프로세스를 강제로 종료할 때 유용하다.
반면 Windows 에서는 아래 명령어 사용한다.
taskkill /PID 1234 /F
/F: 강제 종료 (force kill)
/PID 1234: 종료할 프로세스의 PID