Подтвердить что ты не робот

"Порт 4200 уже используется" при выполнении команды ng serve

Я изучаю angular 2, и впервые я использую проект CLI angular для создания проекта песочницы.

Мне удалось запустить команду "ng serve", и она отлично работает. Я хотел остановить его от запуска, поэтому я запустил "Control Z".

Когда я попытался снова запустить команду "ng-serve", она дает мне "Port 4200 уже используется".

Я запустил "PS", чтобы получить список PID и убил PID для angular -cli и снова запущен "ng-serve", но при этом он использует ту же ошибку при использовании порта.

4b9b3361

Ответ 1

Это то, что я использовал, чтобы убить прогресс на порту 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

Ответ 2

Откройте cmd.exe как administrator,

Затем найдите PID of port 4200

netstat -ano | findstr :4200

Pid для порта 4200

Здесь у меня есть 3 PID:

  • Красный из "ng-serve" (127.0.0.1:4200), что LISTENING
  • Зеленый из "вашего браузера"

убить только порт 4200 (убить красный PID):

taskkill /PID 15940 /F

note: kill the green one приведет только к закрытию вашего браузера силой.

taskkill pid 15940

теперь вы можете сделать "ng-serve", чтобы запустить приложение angular на том же порту 4200




Дополнительный материал:

Один лайнер:. Посмотрев способ оптимизации, вот одноименная команда этого ответа: (особая благодарность: Josep Alsina для этих советов)

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

Ответ 3

В Mac OS X вам понадобится следующая команда:

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

Помните, что вам нужно убить веб-сервер Angular с помощью Command + C.

Ответ 4

Не Ctrl + Z, вы должны запустить для остановки Ctrl + C

Ответ 5

Используйте эту команду, чтобы убить нг:

pkill -9 ng

Ответ 6

ng serve --port <YOUR_GIVEN_PORT_NUMBER>

Вы должны попробовать указанную выше команду для запуска на заданном порту.

Ответ 7

Когда вы используете Ctrl+Z, вы собираетесь приостановить выполнение задачи, но не убить ее. Вы можете использовать команду fg для возобновления задачи. Если вы хотите выйти из ng serve, вместо этого следует использовать Ctrl+C, в котором также будет выпущен порт 4200.

Ответ 8

Мы можем принудительно убить порт, выполнив следующую команду.

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

Ответ 9

Для Windows:

Откройте командную строку и

тип: netstat -a -o -n

Найдите PID процесса, который вы хотите убить.

Тип: taskkill/F/PID 16876

Этот 16876 - это PID для процесса, который я хочу уничтожить - в этом случае это процесс 4200 - проверьте вложенный файл. Вы можете указать любой номер порта.

enter image description here

Теперь введите: ng serve чтобы запустить угловое приложение на том же порту 4200

Ответ 10

Прямо сейчас вы можете установить --port 0 чтобы получить свободный порт.

ng serve --port 0 // will get a free port for you

Ответ 11

netstat -anp | grep ":4200"

Это сообщит вам, кто получил порт.

Ответ 12

Я делюсь этим, так как две команды, которые выполняли функции "fowling", не выполняли работу на моем Mac:

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

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

Следующий сделал, но если вы использовали встроенный терминал в Visual Code, попробуйте использовать терминал вашего компьютера и добавьте команду fowling:

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

Ответ 13

Я также столкнулся с той же ошибкой msg, поэтому я попробовал ng serve --port 12012, и он работал нормально.

Ответ 14

ng serve --port 4201 --live-reload-port 4200

и доступ с помощью localhost:4201

Это должно работать как временное решение.

или же

попробуйте перечислить использование порта, используя
lsof -i:4200
и убить его вручную, используя
sudo kill -9 <Process PID using port 4200>

Ответ 15

Просто перезапустите IDE, которую вы используете, и она заработает.

Ответ 16

Таким образом, существует более одного решения: 1) Используя другой порт для определения номера порта,

ng serve --open --port 4201

2) убивая процесс

ctrl + c // for kill
Close all node terminal which is related for running the app.

3) Тип

netstat -a -n -o

в командной строке найдите соответствующий PID порта и убейте его

taskkill/F/PID (pid number)

4) Введите netstat -ano|findstr :4200

взял PID внешнего адреса, который содержит номер порта, а затем убил его

taskkill/PID (pid number)/F

Ответ 17

С Ctrl + Z вы кладете программу в фоновом режиме. В Linux вы можете вернуть сеанс на передний план с помощью следующей команды:

fg ng serve

Вам не нужно убивать процесс.

Ответ 18

Вы также можете попробовать запустить приложение в Visual Studio Code -:

ng serve --open --port 4201

Вы можете дать любой номер порта.

Ответ 19

Самая простая однострочная команда:

 sudo fuser -k 4200/tcp

Ответ 20

Если вы используете VSCode, у вас есть возможность убить терминал и добавить новый терминал. Закройте вкладку и откройте новую вкладку. Это сработало для меня.

Отредактировано: используйте ctrl + c и нажмите y. Без терминала также можно продолжить. Если вы хотите открыть новый экземпляр Visual Studio и запустить другое приложение, вы можете использовать ng serve --port 4401.

Ответ 21

Чтобы остановить все локальные порты, работающие в Windows, используйте только этот простой комментарий, вместо этого ищите pid отдельно, используя netstat,

Он находит все pid и останавливает локальный порт, который в данный момент работает,

taskkill /im node.exe /f

Ответ 22

Попробуйте запустить на другом порту, например

ng serve --port 4201

Ответ 23

Вместо того, чтобы убивать весь процесс или использовать ctrl+z, вы можете просто использовать ctrl+c чтобы остановить сервер, и можете с радостью использовать ng serve command без каких-либо errors или если вы хотите запустить другой порт, просто используйте эту команду ng serve --port portno(ex: ng serve --port 4201).

Ответ 24

Вы можете использовать fuser -k 4200/tcp, если это операционная система Linux

Ответ 25

Завершите процесс и закройте терминал, который вы использовали для запуска приложения на этом порту.

Ответ 26

Для Ubndu 18.04 sudo lsof -t -i tcp: 3000 | Ксаргс убивают -9

Это происходит, когда порт был неудачно прерван, так что эта команда прервет его 4200 или 3000 или 3300 любой

Ответ 27

Если вы компилируете свой JS-код angular в CMD и IDE, эта проблема возникает. В CMD ваш код angular JS автоматически компилируется всякий раз, когда вы меняете свой код angular JS в среде IDE, а затем ваша IDE хочет занять тот же порт i.e 4200, который уже занят CMD Итак, есть простое решение этой проблемы, просто закройте свой cmd, компилируя свой код в среде IDE.

Ответ 28

Я сталкивался с той же проблемой каждый раз, когда мне приходилось убивать порт.

Я попробовал ./node_modules/.bin/ng serve --proxy-config proxy.conf.json --host 0.0.0.0 Вместо npm start и его работ

Ответ 29

На linux mint 17 это работает.

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

Ответ 30

Изменить порт можно в .angular-cli. Например:

"defaults": {
    "styleExt": "css",
    "component": {},
    "serve": {
      "port": 4205
    }
  }

Кроме того, необходимо добавить это в ваш package.json:

"ng": "ng",
"start": "ng serve"