🍓 포트 충돌 관리방법
포트 충돌은 두 개 이상의 프로세스가 동일한 네트워크 포트를 사용하려고 할때 발생한다. 특히
ctrl
+ alt
+ del
을 누르고 작업관리자에서 확인할때 해당 작업이 중지가 되어있는데 포트가 사용중이라고 나오는 상황이 있다.
위와 같이 작업관리자에서는 중지됨이라 되어있는데,
already in use
메시지를 받고 실행이 안되는 경우가 있는데, 이런 상태가 포트가 충돌되는 상황인 것이다. 이런 상황은 특히 서버를 실행하는 경우나 네트워크 관련 애플리케이션을 사용할 때 자주 발생할 수 있는 경우로, 포트가 충돌했다고 표현한다.
이제 개발자인 우리는 이런 상황에 개발자답게 대처해야 할 것이다. 그 방법을 알아보자.
🍊 cmd에서 포트확인하기
- 위 상황이 발생하면 cmd 명령 프롬프트 창을 관리자의 권한으로 실행한다.

- 그리고
netstat -ano
명령어를 입력하면 현재 사용중인 프로세스 포트 ID를 확인할 수 있다.
netstat -ano

- 그리고 다음과 같은 상황을 맞이할 수 있다. 먼저 MariaDB는
포트3306
번을 사용한다. 그리고 작업관리자에서 들어가보면 다음과 같이 MariaDB가 중지됨이라고 표시되어 있다. - 일반적인 경우라면
taskkill /pid (해당 pid 넘버 : 포트넘버가 아닌 PID넘버)
를 입력하면 종료가 된다. - 하지만 강제로 종료해야될 수도 있는데, 그럴 때는
taskkill /f /pid (PID 넘버)
를 입력해야된다.

👇
하지만
netstat -ano
로 명령 프롬프트 창에서 들어가서 확인해보면 해당 포트는 현재 사용중이라고 나온다.
👇
이런 차이는 가끔씩 GUI시스템이 즉각적으로 업데이트 되지 않기 때문에 발생할 수 있는 상황이다. 그리고 가끔 버그로 인해서 닫은 프로세스가 열려있는 경우가 있다. 이럴 때는 강제로 쓰지 않는 포트를 죽여줘야된다. 죽여야된다는 표현이 나온 것은 명령어가
taskkill
이기 때문이다.taskkill /pid (해당 pid 넘버 : 포트넘버가 아닌 PID넘버)
아래와 같은 경우를 만났을 때가 있다.

taskkill /f /pid (PID 넘버)
PID 란??
PID (Process ID) = primary key랑 동일 - OS가 하는 일
🙄 재부팅해서 해결할려고 했으나 해당포트가 사용중인 경우!
보통은 위와 같은 지식이 없을 때는 재부팅을 하면 되는 데, 그럼에도 불구하고 계속 해당 포트가 점유상태인 경우를 발견할 때가 있다. 그런 경우는 윈도우즈가 시작될 때 자동으로 실행되게 끔 설정이 되어있기 때문이다. 그런 경우가 아니라면 보통의 포트는 닫혀있는 것이 기본이기 때문이다. 이때 어떻게 해결하면 되는지 알아보자.
👇아래와 같이 찾고자 하는 프로세스를 오른쪽 마우스 클릭으로 서비스열기를 선택한다.

👇 아래와 같은 창이 뜨게 되는데, 해당 프로세스명을 찾아서
시작유형
을 살펴보면 자동
이라 설정되어있을 것이다. 
이렇게
자동
으로 설정이 되어있다면 해당 프로세스는 윈도우가 시작되자마자 자동으로 실행이 되는 것이다. 여기서 오른쪽 마우스 클릭으로 속성을 열어보자. 👇 아래와 같이 속성을 열어서
시작유형
을 수동
이나 사용 안 함
으로 선택해주면 윈도우 시작시에 자동 실행되지 않는다. 
Share article