Windows ターミナルを閉じても npm プロセスが終了しない

Windows ターミナルを閉じても npm プロセスが終了しない

これはnpmかWindowsターミナルのバグのようですが、私が知らない設定があるのか​​もしれません。私はexpressをインストールしたシンプルなノードアプリを持っていて、インデックス次のコードを含むファイル:

import express from 'express';

const port = process.argv[2]
const app = express();
app.get('/', (req, res) => res.send(`Hello from port ${port}`))
app.listen(port, () => console.log('Server is running at http://localhost:' + port));

私もこれを持っていますパッケージ.json:

"scripts": {
  "start": "node index.js"
}

次に、プロジェクトのディレクトリで Windows ターミナルを開いて を実行しnpm start 3000、http://localhost:3000 にアクセスしてターミナルを閉じます。ページを更新すると、サーバーがまだ実行中であることがわかります。ユーザーを再度ログインさせる以外に停止する方法はありません。

この問題は、Power Shell または CMD でコマンドを実行するか、node index.jsWindows Terminal で直接実行することで解決します。つまり、Windows Terminal と npm の両方の組み合わせが何らかの原因で問題を引き起こしているようです。

これを回避し、Windows ターミナルを閉じたときにプロセスが停止するようにする方法を知っている人はいますか?

関連情報