Lo anterior killall -9 node
, sugerido por Patrick, funciona como se esperaba y resuelve el problema, pero es posible que desee leer la parte de edición de esta misma respuesta sobre por qué kill -9
puede no ser la mejor manera de hacerlo.
Además de eso, es posible que desee apuntar a un solo proceso en lugar de matar ciegamente todos los procesos activos.
En ese caso, primero obtenga el ID de proceso (PID) del proceso que se ejecuta en ese puerto (digamos 8888):
lsof -i tcp:8888
Esto devolverá algo como:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 57385 You 11u IPv6 0xac745b2749fd2be3 0t0 TCP *:ddi-tcp-1 (LISTEN)
Entonces solo haz (ps - en realidad no . Por favor, sigue leyendo a continuación):
kill -9 57385
Puedes leer un poco más sobre esto aquí .
EDITAR: Estaba leyendo sobre un tema bastante relacionado hoy y me topé con este interesante hilo sobre por qué no debería kill -9
un proceso .
En general, debe usar kill -15 antes de kill -9 para darle al proceso objetivo la oportunidad de limpiar después de sí mismo. (Los procesos no pueden detectar o ignorar SIGKILL, pero sí pueden detectar SIGTERM). Si no le da al proceso la oportunidad de terminar lo que está haciendo y limpiar, puede dejar archivos corruptos (u otro estado) alrededor que no podrá entender una vez reiniciado.
Entonces, como se indicó, es mejor que elimine el proceso anterior con:
kill -15 57385
EDITAR 2 : Como se señaló en un comentario por aquí muchas veces, este error es una consecuencia de no salir de un proceso con gracia. Eso significa que, a mucha gente salir de un comando de nodo (o cualquier otro) usando CTRL + Z . La forma correcta de detener un proceso en ejecución es emitiendo el comando CTRL + C que realiza una salida limpia.
Salir de un proceso de la manera correcta liberará ese puerto mientras se apaga. Esto le permitirá reiniciar el proceso sin pasar por la molestia de matarlo usted mismo antes de poder volver a ejecutarlo.