javascript - org - webpack-dev-server npm
¿Cómo puedo detener el servidor dev de webpack desde la consola de Windows? (6)
Ejecuto webpack-dev-server desde la consola de Windows con el comando:
webpack-dev-server --content-base ./build --inline --hot
después de esto, veo el webpack: bundle is now VALID.
mensaje webpack: bundle is now VALID.
y no puedo escribir nada allí. Pero si cambio algo en webpack.config.js, tengo que cerrar la consola, abrirla nuevamente e iniciar webpack-dev-server para aplicar mis cambios. ¿Cómo puedo detener el servidor de desarrollo webpack sin cerrar la consola?
Solo necesitas escribir Ctrl + C dos veces
También me he encontrado recientemente con este proceso de webpack-dev-server difícil de matar en mi máquina Windows.
Ctrl + C / break e incluso el cierre no me llevaban a ninguna parte y rápidamente me cansé de rastrear manualmente el proceso y matarlo.
Este one-liner hizo el truco para mí:
for /f "tokens=5" %a in (''netstat -aon ^| findstr 8080 ^| findstr LISTENING'') do taskkill /pid %a /f
Seguí adelante e hice un archivo kill-server.bat para él:
@echo off
for /f "tokens=5" %%a in (''netstat -aon ^| findstr %1 ^| findstr LISTENING'') do taskkill /pid %%a /f && echo killed PID %%a
Puse eso en mi PATH, así que ahora para matar a un servidor usando un puerto específico, solo puedo:
kill-server 8080
En una nota lateral, este problema parece sucederme solo cuando uso herramientas de emulación de consola, no cuando estoy usando directamente el símbolo del sistema de Windows.
En mi caso, fue suficiente presionar Ctrl + C una vez. Después de eso, recibo dos instrucciones para terminar el trabajo: ¿Terminar el trabajo por lotes (S / N)? ^ ¿Terminar el trabajo por lotes (S / N)?
Después de confirmar el primero, se muestra un mensaje de comando regular. Pero tengo que escribir una vez más, presionar "S" y confirmar, lo que confirma la terminación del segundo trabajo en segundo plano. De lo contrario, queda huérfano.
En Windows, esta Powershell parece matarlo (¡y todos los procesos de Node!)
get-process node | Stop-Process
Ejecuto webpack devserver emitiendo el comando "npm start". Descubrí que CTRL + C no funciona para mí y simplemente crea un proceso huérfano. Puedo matar al devserver abriendo el administrador de tareas y eliminando cualquier proceso running node.exe.
Otra forma de hacerlo desde la consola de Windows simple jane es encontrar el nodo de proceso Ids y matarlos.
tasklist /FI "IMAGENAME eq node.exe"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
node.exe 4620 Console 2 44,568 K
node.exe 12452 Console 2 486,260 K
Entonces mátalos con el siguiente comando.
taskkill /F /PID 4620 /PID 12452
Parece que hay un error en Git Bash que no envía correctamente la señal al nodo correctamente.
Creé este script bash:
echo killing process on port $1
taskkill //PID `netstat -aon | grep $1 | grep -P ''(?=LISTENING).*'' -o -m1 | grep -P ''/d*'' -o` //F
Agregue agregarlo a su PATH
ejecutar con kill.sh 8000
por ejemplo.