[angular] ng serve 명령을 실행할 때“포트 4200이 이미 사용 중입니다”

나는 각도 2를 배우고 있으며 처음으로 각도 CLI 프로젝트를 사용하여 샌드 박스 프로젝트를 만들고 있습니다.

“ng serve”명령을 실행할 수 있었고 훌륭하게 작동합니다. “Control Z”를 실행하도록 실행을 중지하고 싶었습니다.

“ng-serve”명령을 다시 실행하려고하면 “포트 4200이 이미 사용 중입니다”라는 메시지가 표시됩니다.

PID 목록을 얻기 위해 “PS”를 실행하고 angular-cli에 대한 PID를 종료하고 “ng-serve”를 다시 실행했지만 여전히 동일한 포트 사용 오류가 발생합니다.



답변

이것은 포트 4200에서 진행 상황을 죽이는 데 사용한 것입니다.

Linux 사용자의 경우 :

sudo kill $(sudo lsof -t -i:4200)

당신은 또한 이것을 시도 할 수 있습니다 :

sudo kill `sudo lsof -t -i:4200`

Windows 사용자의 경우 :

포트 번호 4200이 이미 사용 중입니다. 관리자 권한으로 cmd를 엽니 다. cmd에 아래 명령을 입력하십시오.

netstat -a -n -o

그런 다음 터미널을 마우스 오른쪽 버튼으로 클릭하여 포트 번호가 4200 인 포트를 찾은 다음 찾기를 클릭하고 “찾을 내용”에 4200을 입력하고 “다음 찾기”를 클릭하십시오. 포트 번호 4200이 pid 18932에 의해 사용되었다고 가정하십시오. 아래 명령을 입력하십시오. cmd :

taskkill -f /pid 18932

UNIX의 경우 :

alias ngf='kill -9  $(lsof -t -i:4200);ng serve'

이제 프로젝트 폴더의 터미널에서 ng serve 대신 ngf를 실행 하십시오 . 포트 4200을 사용하는 모든 프로세스가 종료되고 Angular 프로젝트가 실행됩니다.


답변

당신을 열고 cmd.exe으로 administrator,

그런 다음 PIDport 4200

netstat -ano | findstr :4200

포트 4200 용 Pid

여기에 3 PID가 있습니다 :

  • 빨간색은 “ng-serve”(127.0.0.1:4200)에서 나온 것입니다. LISTENING
  • 녹색은 “브라우저”에서 나온 것입니다.

포트 4200 만 종료 (빨간색 PID 종료) :

taskkill /PID 15940 /F

참고 : 녹색을 죽이면 브라우저가 강제로 닫힙니다.

태스크 킬 pid 15940

이제 “ng-serve”를 사용하여 같은 포트 4200에서 각도 앱을 시작할 수 있습니다




추가 사항 :

하나 라이너 : 여기,이를 최적화 할 수있는 방법을 찾고 후이 답변의 한 줄의 명령은 다음과 같습니다 (특별 감사에 : 조셉 Alsina 이 팁)

for /f "tokens=5" %a in ('netstat -ano ^| find "4200" ^| find "LISTENING"') do taskkill /f /pid %a


답변

Mac OS X에서는 다음 명령이 필요합니다.

sudo lsof -t -i tcp:4200 | xargs kill -9

Command + C를 사용하여 Angular의 웹 서버를 종료해야합니다.


답변

ctrl + Z가 아니라 ctrl + C 중지를 위해 실행해야합니다.


답변

ng를 종료하려면이 명령을 사용하십시오.

pkill -9 ng


답변

ng serve --port <YOUR_GIVEN_PORT_NUMBER>

주어진 포트에서 실행하려면 위의 명령을 시도해야합니다.


답변

을 사용 Ctrl+Z하면 실행중인 작업을 일시 중단하지만 종료하지는 않습니다. 나중에 명령 fg을 사용 하여 작업을 다시 시작할 수 있습니다 . 종료 ng serve하려면 Ctrl+C대신 4200 포트를 해제해야합니다.