angular - stop - "El puerto 4200 ya está en uso" cuando se ejecuta el comando ng serve
ng serve port (30)
Abra su
cmd.exe
como
administrator
,
luego encuentre el
PID
del
port 4200
netstat -ano | findstr :4200
Aquí tengo 3 PID:
-
El rojo es de "ng-serve" (127.0.0.1:4200) que
LISTENING
- El verde es de "su navegador"
matar solo el puerto 4200 (matar el PID rojo):
taskkill /PID 15940 /F
nota: matar al verde solo hará que su navegador se cierre por la fuerza.
ahora puede hacer "ng-serve" para iniciar su aplicación angular en el mismo puerto 4200
Cosas adicionales:
One liner: después de buscar una manera de optimizar esto, aquí está el comando One-liner de esta respuesta: (agradecimiento especial a: Josep Alsina por estos consejos)
for /f "tokens=5" %a in (''netstat -ano ^| find "4200" ^| find "LISTENING"'') do taskkill /f /pid %a
Estoy aprendiendo angular 2 y por primera vez estoy usando el proyecto CLI angular para crear un proyecto sandbox.
Pude ejecutar el comando "ng serve" y funciona muy bien. Quería evitar que se ejecutara, así que ejecuté "Control Z".
Cuando intenté ejecutar el comando "ng-serve" nuevamente, me dio "El puerto 4200 ya está en uso".
Ejecuté "PS" para obtener una lista del PID y eliminé el PID para el angular-cli y volví a ejecutar "ng-serve", pero sigue dando el mismo error de puerto en uso.
Con ctrl + z pones el programa en segundo plano. En Linux, puede recuperar la sesión en primer plano con el siguiente comando:
fg ng serve
No necesitas matar el proceso.
Cuando usas
Ctrl+Z
, vas a suspender una tarea en ejecución pero no a matarla.
Luego puede usar el comando
fg
para reanudar la tarea.
Si desea salir de
ng serve
, debe usar
Ctrl+C
lugar, en el que también liberará el puerto 4200.
Dice que ya estamos ejecutando los servicios con el puerto no 4200, use otro puerto en lugar de 4200. El siguiente comando es para resolver el problema
ng serve --port 4300
El comando más simple de una línea:
taskkill /im node.exe /f
Elimine el proceso y cierre el terminal que utilizó para ejecutar la aplicación en ese puerto.
En Linux mint 17, esto está funcionando.
kill -9 $(lsof -t -i:4200)
En Mac OS X necesita el siguiente comando:
sudo lsof -t -i tcp:4200 | xargs kill -9
Recuerde que debe matar el servidor web de Angular con Command + C.
En este momento puede configurar
--port 0
para obtener un puerto libre.
netstat -anp | grep ":4200"
En lugar de matar todo el proceso o usar
ctrl+z
, simplemente puede usar
ctrl+c
para detener el servidor y puede usar el
ng serve command
sin ningún
errors
o si desea ejecutar en un puerto diferente, simplemente use este comando
ng serve --port portno(ex: ng serve --port 4201)
.
En resumen, hay más de una solución: 1) Al usar otro puerto para definir el número de puerto,
sudo fuser -k 4200/tcp
2) matando el proceso
ng serve --open --port 4201
3) Tipo
netstat -a -n -o
en el símbolo del sistema, busque el PID del puerto relacionado y elimínelo
taskkill /F /PID (pid number)
4) Escriba
netstat -ano|findstr :4200
tomó el PID de la dirección extranjera que contiene el número de puerto y luego lo mató
taskkill /PID (pid number)/F
Es posible cambiar el puerto en el archivo
.angular-cli
.
Por ejemplo:
"ng": "ng",
"start": "ng serve"
Además, es necesario agregar esto a su
package.json
:
Port 4200 is already in use. Use ''--port'' to specify a different port
Esto es lo que solía matar el progreso en el puerto 4200
Para usuarios de Linux:
sudo kill $(sudo lsof -t -i:4200)
También puedes probar esto:
sudo kill `sudo lsof -t -i:4200`
Para usuarios de Windows:
El número de puerto 4200 ya está en uso. Abra el cmd como administrador. Escriba el siguiente comando en cmd:
netstat -a -n -o
Y luego, busque el puerto con el número de puerto 4200 haciendo clic derecho en la terminal y haga clic en buscar, ingrese 4200 en "buscar qué" y haga clic en "buscar siguiente": Digamos que encontró que el número de puerto 4200 es usado por pid 18932. Escriba el siguiente comando en cmd:
taskkill -f /pid 18932
Estoy compartiendo esto ya que los dos comandos fowling no hicieron el trabajo en mi mac:
sudo kill $(sudo lsof -t -i:4200)
sudo kill `sudo lsof -t -i:4200`
El siguiente sí, pero si estaba usando el terminal integrado en Visual Code, intente usar el terminal de su máquina y agregue el comando fowling:
lsof -t -i tcp:4200 | xargs kill -9
Me enfrentaba al mismo problema cada vez que tenía que matar el puerto.
Intenté
./node_modules/.bin/ng serve --proxy-config proxy.conf.json --host 0.0.0.0
En lugar de
npm start
y sus trabajos
No Ctrl + Z, debe ejecutar para detener Ctrl + C
Para Ubndu 18.04 sudo lsof -t -i tcp: 3000 | xargs kill -9
Sucede cuando el puerto se finalizó sin éxito, por lo que este comando lo terminará 4200 o 3000 o 3300 cualquiera
Para detener todo el puerto local que se ejecuta en Windows, use este simple comentario solo en lugar de buscar pid por separado usando netstat,
Encuentra todos los pid y detiene el puerto local que se está ejecutando actualmente,
"defaults": {
"styleExt": "css",
"component": {},
"serve": {
"port": 4205
}
}
Para ventanas:
Abra el símbolo del sistema y
tipo:
netstat -a -o -n
Encuentra el PID del proceso que quieres matar.
Tipo:
taskkill /F /PID 16876
Este 16876 - es el PID para el proceso que quiero matar - en ese caso, el proceso es 4200 - verifique el archivo adjunto. Puede dar cualquier número de puerto.
Ahora, escriba:
ng serve
para iniciar su aplicación angular en el mismo puerto 4200
Podemos matar a la fuerza el puerto siguiendo el comando.
kill -2 $(lsof -t -i:4200)
Si compila su código JS angular tanto en CMD como en IDE, se produce este problema. En CMD, su código JS angular se compila automáticamente cada vez que cambia su código JS angular en IDE y luego su IDE desea ocupar el mismo puerto, es decir, 4200 que ya está ocupado por CMD Entonces, hay una solución simple para este problema, simplemente cierre su cmd mientras compila su código en IDE.
Si está utilizando VSCode, tiene la opción de eliminar el terminal y agregar un nuevo terminal. Cierre la pestaña y abra una nueva pestaña. A mi me funciono.
Editado: use ctrl + c y presione y. Sin matar terminal también, puede continuar. Si desea abrir una nueva instancia de Visual Studio y ejecutar una aplicación diferente, puede usar ng serve --port 4401.
Simplemente reinicie el IDE que está utilizando, luego funcionará.
También enfrenté el mismo mensaje de error, así que intenté ng serve --port 12012 y funcionó bien.
También puede probar con esto para ejecutar su aplicación en código visual studio:
ctrl + c // for kill
Close all node terminal which is related for running the app.
Puedes dar cualquier número de puerto.
Use este comando para matar ng:
pkill -9 ng
puede usar fuser -k 4200 / tcp si es un sistema operativo Linux
ng serve --port <YOUR_GIVEN_PORT_NUMBER>
Debe probar el comando anterior para ejecutar en su puerto dado.
ng serve --open --port 4201
y acceso usando
localhost:4201
Esto debería funcionar como una solución temporal.
o
intente enumerar el uso del puerto usando
lsof -i:4200
y matarlo manualmente usando
sudo kill -9 <Process PID using port 4200>
ng serve --port 4201 --live-reload-port 4200
Esto te dirá quién tiene el puerto.