как остановить webpack dev server из консоли windows?

Я запускаю webpack-dev-server из консоли windows с командой:

webpack-dev-server --content-base ./ build --inline --hot

после этого я вижу сообщение webpack: bundle is now VALID. и не могу ничего типа там. Но если я что-то изменю в webpack.конфиг.js я должен закрыть консоль, открыть ее снова и запустить webpack-dev-server для применения моих изменений. Как остановить webpack dev server без закрыть консоль?

7 ответов


вам нужно только ввести Ctrl+C два раза


Я запускаю webpack devserver, выполнив команду "npm start". Я обнаружил, что CTRL+C не работает для меня, и просто создает процесс-сирот. Я могу убить devserver, открыв Диспетчер задач и убив любой запущенный узел.exe процессов.

другой способ сделать это из простой консоли jane windows-найти идентификаторы процесса узла и убить их.

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

затем убейте их следующей командой.

taskkill /F /PID 4620 /PID 12452

в последнее время я также сталкиваюсь с этим трудным для убийства процессом webpack-dev-server на моей машине Windows.

Ctrl+C / break и даже закрытие никуда меня не привели, и я быстро устал от ручного отслеживания процесса и его убийства.

этот One-liner сделал трюк для меня:

for /f "tokens=5" %a in ('netstat -aon ^| findstr 8080 ^| findstr LISTENING') do taskkill /pid %a /f

Я пошел вперед и сделал kill-сервер.bat файл для этого:

@echo off
for /f "tokens=5" %%a in ('netstat -aon ^| findstr %1 ^| findstr LISTENING') do taskkill /pid %%a /f && echo killed PID %%a

Я положил это на свой путь, поэтому теперь, чтобы убить сервер, используя определенный порт, я могу просто:

kill-server 8080

на стороне Примечания, эта проблема, кажется, происходит для меня только тогда, когда я использую средства эмуляции консоли, а не когда я использую командную строку windows напрямую.


в Windows Этот Powershell, кажется, убивает его (и все процессы узла!)

get-process node | Stop-Process

в моем случае достаточно было нажать Ctrl+C один раз. После этого я получаю два запроса на прекращение работы: Завершить пакетное задание (Y / N)? ^ Пакетное задание CTerminate (Y / N)?

после подтверждения первого, отображается обычная командная строка. Но я должен еще раз написать хит "Y" и подтвердить, что подтверждает второе прекращение фонового задания. Иначе он останется сиротой.


кажется, что ошибка на Git Bash неправильно отправляет сигнал на узел правильно.

Я создал этот скрипт:

echo killing process on port 

taskkill //PID `netstat -aon | grep  | grep -P '(?=LISTENING).*' -o -m1 | grep -P '\d*' -o` //F

добавить добавьте его в свой PATH

запустить с kill.sh 8000 например.


  1. тип: Ctrl+C раз.
  2. после строки завершить пакетное задание (Y/N)? тип: y

работает для меня. Я приложил скриншот спасибо! скриншот командной строки