web-dev-qa-db-ja.com

Windowsコンソールからwebpack devサーバーを停止するにはどうすればよいですか?

次のコマンドを使用して、Windowsコンソールからwebpack-dev-serverを実行します。

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

この後、メッセージwebpack: bundle is now VALID.が表示され、何も入力できないが表示されます。ただし、webpack.config.jsで何かを変更した場合は、コンソールを閉じて、もう一度開いて、変更を適用するためにwebpack-dev-serverを起動する必要があります。 webpack devサーバーを停止するにはどうすればよいですか?withoutコンソールを閉じますか?

11
Rajab Shakirov

Ctrl + Cを2回入力するだけです

22
thitemple

「npm start」コマンドを発行してwebpack devserverを実行します。 CTRL + Cは機能せず、孤立したプロセスを作成するだけであることがわかりました。タスクマネージャーを開き、実行中のnode.exeプロセスを強制終了することで、devserverを強制終了できます。

プレーンジェーンウィンドウコンソールからこれを行う別の方法は、ノードプロセスIDを見つけて強制終了することです。

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

コメントで指摘されている、より直接的な代替アプローチ。

taskkill /F /IM node.exe
13
Jason Slobotski

また、私は最近、Windowsマシンでこの困難なwebpack-dev-serverプロセスを実行しています。

Ctrl + C/break、さらには閉じることでどこにも行けず、プロセスを手動で追跡して強制終了することにすぐに疲れました。

このワンライナーは私のためにトリックをしました:

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

先に進んで、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

これをPATHに追加したので、特定のポートを使用してサーバーを強制終了するには、次のようにします。

kill-server 8080

ちなみに、この問題はコンソールエミュレーションツールを使用する場合にのみ発生し、Windowsコマンドの[プロンプト]を直接使用する場合には発生しないようです。

4
Jordan Watkins

Windowsでは、このPowershellはそれを強制終了するようです(そしてすべてのNodeプロセス!)

get-process node | Stop-Process
2
Damien Sawyer

Git Bashがノードに信号を正しく送信しないというバグがあるようです。

このbashスクリプトを作成しました:

echo killing process on port $1

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

追加PATHに追加します

たとえばkill.sh 8000で実行します。

0
dwjohnston

私の場合、Ctrl + Cを1回押すだけで十分でした。その後、ジョブを終了するための2つのプロンプトが表示されます。バッチジョブの終了(Y/N)? ^ Cバッチジョブの終了(Y/N)?

最初の確認後、通常のコマンドプロンプトが表示されます。しかし、もう一度ヒット「Y」を書き込んで確認する必要があります。これにより、2番目のバックグラウンドジョブの終了が確認されます。それ以外の場合は、孤立したままです。

0
Michal Filip
  1. タイプ:Ctrl + C一度。
  2. When PromptTerminate batch job(Y/N)?Type:y

私のために働く。スクリーンショットを添付しましたThanks! コマンドラインのスクリーンショット

0

コンソールを閉じずにwebpack devサーバーを停止するにはどうすればよいですか?

タスクマネージャーに移動し、タスクを閉じますNode.js: Server-side JavaScript

0
Fabian Picone