J'exécute webpack-dev-server à partir de la console Windows avec la commande suivante:
webpack-dev-server --content-base ./build --inline --hot
après cela, je vois le message webpack: bundle is now VALID.
et je je ne peux rien taper là. Mais si je change quelque chose dans webpack.config.js, je dois fermer la console, la rouvrir et démarrer Webpack-dev-server pour appliquer mes modifications. Comment puis-je arrêter le serveur Webpack dev sans fermer la console?
Il suffit de taper Ctrl + C deux fois
Je lance webpack devserver en lançant la commande "npm start". J'ai constaté que CTRL + C ne fonctionnait pas pour moi et créait simplement un processus orphelin. Je suis capable de tuer le devserver en ouvrant le gestionnaire de tâches et en tuant tous les processus en cours d'exécution node.exe.
Une autre façon de faire ceci à partir de la console Windows Plain Jane est de trouver les ID de processus de nœud et de les tuer.
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
Puis tuez-les avec la commande suivante.
taskkill /F /PID 4620 /PID 12452
Une approche alternative plus directe comme le souligne un commentaire.
taskkill /F /IM node.exe
Je suis également tombé sur ce processus difficile à tuer de webpack-dev-server sur ma machine Windows récemment.
Ctrl + C/break et même fermeture ne me conduisaient nulle part et je me suis vite fatigué de suivre manuellement le processus et de le tuer.
Ce one-liner a fait le tour pour moi:
for /f "tokens=5" %a in ('netstat -aon ^| findstr 8080 ^| findstr LISTENING') do taskkill /pid %a /f
Je suis allé de l'avant et j'ai créé un fichier kill-server.bat:
@echo off
for /f "tokens=5" %%a in ('netstat -aon ^| findstr %1 ^| findstr LISTENING') do taskkill /pid %%a /f && echo killed PID %%a
Je mets ça sur mon PATH, alors maintenant, pour tuer un serveur en utilisant un port spécifique, je peux simplement:
kill-server 8080
En passant, ce problème ne semble se produire que lorsque j'utilise des outils d'émulation de console, et non lorsque j'utilise directement la commande windows Invite.
Sur Windows, ce Powershell semble le tuer (et tous les processus de nœud!)
get-process node | Stop-Process
Il semble y avoir un bogue sur Git Bash qui n’envoie pas correctement le signal au noeud.
J'ai créé ce script bash:
echo killing process on port $1
taskkill //PID `netstat -aon | grep $1 | grep -P '(?=LISTENING).*' -o -m1 | grep -P '\d*' -o` //F
Ajoutez-le à votre PATH
exécuté avec kill.sh 8000
par exemple.
Dans mon cas, il suffisait d'appuyer une fois sur Ctrl + C. Ensuite, je reçois deux invites pour terminer le travail: Terminer le travail par lots (O/N)? ^ Supprimer le travail par lots (O/N)?
Après avoir confirmé la première, une invite de commande régulière est affichée. Mais je dois encore une fois écrire hit "Y" et confirmer, ce qui confirme la fin du deuxième travail en arrière-plan. Sinon, il reste orphelin.
Travaille pour moi. J'ai joint la capture d'écran Merci! capture en ligne de commande
Comment puis-je arrêter le serveur de développement webpack sans fermer la console?
Allez dans le gestionnaire de tâches et fermez la tâche Node.js: Server-side JavaScript
.