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.
Respuestas:
Esto es lo que solía matar el progreso en el puerto 4200
Para usuarios de Linux:
También puedes probar esto:
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:
Y luego, busque el puerto con el número de puerto 4200 haciendo clic derecho en el 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 comando a continuación en cmd:
Para UNIX:
Ahora ejecute ngf (en lugar de ng serve ) en la terminal desde la carpeta del proyecto. Esto eliminará todos los procesos que usan el puerto 4200 y ejecuta su proyecto Angular.
fuente
ng serve
en un directorio diferente? ¿No tiene sentido matar el servidor de esta manera y luego reiniciarlo en otro lugar o me falta algo?--port <new_port>
^Z
instancia angular existente que estaba usando el puerto predeterminado, tonto!Abre tu
cmd.exe
comoadministrator
,entonces Encuentra el
PID
deport 4200
Aquí tengo 3 PID:
LISTENING
matar solo el puerto 4200 (matar el PID rojo):
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 forma de optimizar esto, aquí está el comando One-liner de esta respuesta: (agradecimiento especial a: Josep Alsina por estos consejos)
fuente
cmd
, noGit Bash
.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.
fuente
No Ctrl + Z, debe ejecutar para detener Ctrl + C
fuente
Use este comando para matar ng:
fuente
ng serve --port <YOUR_GIVEN_PORT_NUMBER>
Debe probar el comando anterior para ejecutar en su puerto dado.
fuente
Cuando lo use
Ctrl+Z
, suspenderá una tarea en ejecución pero no la matará. Más tarde puede usar el comandofg
para reanudar la tarea. Si desea salirng serve
, debe usarCtrl+C
en su lugar, en el que también liberará el puerto 4200.fuente
En este momento puede configurar
--port 0
para obtener un puerto libre.fuente
--open
bandera, de lo contrario no sabrá en qué puerto se inició.Podemos matar el puerto a la fuerza siguiendo el comando.
fuente
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 4200fuente
Estoy compartiendo esto ya que los dos comandos fowling no hicieron el trabajo en mi mac:
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:
fuente
Esto te dirá quién tiene el puerto.
fuente
y acceder usando
localhost:4201
Esto debería funcionar como una solución temporal.
o
intente enumerar el uso del puerto usando
lsof -i:4200
y elimínelo manualmente usando
sudo kill -9 <Process PID using port 4200>
fuente
En resumen, hay más de una solución: 1) Al usar otro puerto para definir el número de puerto,
2) matando el proceso
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) Tipo
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
fuente
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,
fuente
Simplemente reinicie el IDE que está utilizando, entonces funcionará.
fuente
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.
fuente
El comando más simple de una línea:
fuente
En mi caso, ninguno de los mencionados anteriormente funcionó.
UBUNTU 18.04 VERSIÓN
El siguiente comando funcionó.
fuente
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. Funcionó para mi.
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.
fuente
El terminal VScode en Ubuntu OS usa el siguiente comando para matar el proceso
fuente
También puede probar con esto para ejecutar su aplicación en código visual studio:
Puedes dar cualquier número de puerto.
fuente
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
fuente
puede usar fuser -k 4200 / tcp si es un sistema operativo Linux
fuente
Elimine el proceso y cierre el terminal que utilizó para ejecutar la aplicación en ese puerto.
fuente
En lugar de matar todo el proceso o el uso
ctrl+z
, simplemente puede usarctrl+c
para detener el servidor y puede usarlo felizmenteng serve command
sin ningunoerrors
o si desea ejecutar en un puerto diferente, simplemente use este comandong serve --port portno(ex: ng serve --port 4201)
.fuente
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
fuente
También enfrenté el mismo mensaje de error, así que intenté ng serve --port 12012 y funcionó bien.
fuente
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.
fuente
Me enfrentaba al mismo problema cada vez que tenía que matar el puerto.
Lo intenté en
./node_modules/.bin/ng serve --proxy-config proxy.conf.json --host 0.0.0.0
lugar denpm start
y funcionafuente