VS Code로 개발을 진행하고 있는데 서버를 열어둔 상태에서 의도치 않게 터미널이 강제종료되는 상황이 한번씩 발생한다. 현재 해당원인에 대해서는 밝히지 못했지만, 터미널이 강제종료되고 다시 터미널창을 열어 서버를 열려고 명령어를 실행한다면, 해당포트를 이미 사용하고 있다는 Error: listen EADDRINUSE: address already in use ... 에러를 발생시킨다.
위 과정에서 터미널의 예기치 않은 종료로 인해 포트가 여전히 사용 중인 상태로 남아있을 수 있다. 이 경우에는 해당 포트를 사용 중인 프로세스를 강제로 종료해야 줘야 한다.
본인의 경우 Windows를 사용하고 있어서 Windows의 CMD(명령프롬프트)창에서 들어가서 해당 포트로 켜져있는 프로세스ID를 찾아서 프로세스를 강제종료 해 줘야한다.
포트번호에 맞는 프로세스를 찾는 명령어는 아래와 같다.
netstat -ano | findstr :포트번호
본인은 4000번으로 포트를 열어두었었기에 4000번으로 작성하였다.
그러면 가장 오른쪽에 프로세스 아이디를 확인할 수 있다. 해당 프로세스 아이디를 가지고 아래와같은 명령어로 실행중인 프로세스 제거하자.
taskkill /PID 프로세스아이디번호 /F
정상적인 종료완료 메시지를 받았다면 다시 VS Code로 돌아가서 서버를 실행해보자.
에러를 뿜지않고 정상적인 동작을 하는 것을 확인할 수 있다.