как остановить 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 ответов
Я запускаю 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
например.
- тип: Ctrl+C раз.
- после строки завершить пакетное задание (Y/N)? тип: y
работает для меня. Я приложил скриншот спасибо! скриншот командной строки