未分類
Node.jsプロセス終了時の注意事項
問題の概要
開発サーバーでエラーが発生した際、以下のコマンドでサーバーを再起動しようとすると、Claude Code自体も終了してしまう問題が発生しました。
問題のあるコマンド
Stop-Process -Name node -Force -ErrorAction SilentlyContinue
なぜ問題なのか
- このコマンドは「node」という名前のすべてのプロセスを終了させる
- Claude Code自体もNode.jsで動作しているため、一緒に終了する
- 結果として作業が中断され、再度Claude Codeを起動する必要がある
正しい対処方法
開発サーバー(例: localhost:3000)を再起動したい場合は、ポート番号を指定して該当プロセスのみを終了させること。
推奨コマンド
# ポート3000を使用しているプロセスのみを終了
$pid = (Get-NetTCPConnection -LocalPort 3000 -ErrorAction SilentlyContinue).OwningProcess | Select-Object -Unique
if ($pid) { Stop-Process -Id $pid -Force }
ポート番号が異なる場合
# 例: ポート5173(Vite)の場合
$pid = (Get-NetTCPConnection -LocalPort 5173 -ErrorAction SilentlyContinue).OwningProcess | Select-Object -Unique
if ($pid) { Stop-Process -Id $pid -Force }
ルール
- 絶対に
Stop-Process -Name nodeを使用しないこと - 開発サーバーの再起動は必ずポート指定で行うこと
- どのポートで動いているか不明な場合は、先に確認してから終了すること
# 現在使用中のポートとプロセスを確認
Get-NetTCPConnection -State Listen | Where-Object { $_.LocalPort -lt 10000 } | Select-Object LocalPort, OwningProcess