"Порт 4200 уже используется" при выполнении команды ng serve
Я изучаю angular 2, и впервые я использую проект CLI angular для создания проекта песочницы.
Мне удалось запустить команду "ng serve", и она отлично работает. Я хотел остановить его от запуска, поэтому я запустил "Control Z".
Когда я попытался снова запустить команду "ng-serve", она дает мне "Port 4200 уже используется".
Я запустил "PS", чтобы получить список PID и убил PID для angular -cli и снова запущен "ng-serve", но при этом он использует ту же ошибку при использовании порта.
Ответы
Ответ 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"