---
name: killing-processes
description: 開発サーバーや Node.js プロセスを強制終了。ポート競合の解決やプロセスリセット時に使用。
---

# Kill Development Processes

開発サーバーや Node.js プロセスを強制終了するスキル。複数ポートで起動している開発プロセスを一括で停止できます。

## Instructions

### 1. オプション

- なし : すべての Node.js 開発プロセスを強制終了
- `--port <ポート番号>` : 特定のポートのプロセスのみ終了
- `--check` : プロセス状況の確認のみ（終了せず）

### 2. 基本例

```bash
# 全開発プロセスを強制終了
# 「すべての Node.js 開発サーバー（npm run dev 等）を停止」

# ポート 3000 番のプロセスのみ終了
# --port 3000
# 「ポート 3000 で動作中のプロセスを終了」

# プロセス状況の確認
# --check
# 「現在起動中の開発プロセスを一覧表示」
```

### 3. 詳細機能

#### 一括プロセス終了

Windows 環境で複数の開発サーバーが起動している場合の一括終了処理。

```bash
# ポート範囲でのプロセス検索・終了
netstat -ano | findstr ":300[0-9]" | findstr LISTENING
taskkill //F //PID <PID1> && taskkill //F //PID <PID2>
```

#### 個別ポート指定終了

特定のポートで起動しているプロセスのみを終了する。

- **安全性**: 指定ポートのみ終了で他に影響しない
- **精密性**: 必要最小限のプロセス停止
- **確認**: 終了前にプロセス情報を表示

### 4. 出力例

```
現在起動中の開発プロセス:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ポート 3000: PID 34348 (Node.js)
ポート 3001: PID 16676 (Node.js)
ポート 3002: PID 25696 (Node.js)

プロセス終了中...
PID 34348 を終了しました
PID 16676 を終了しました
PID 25696 を終了しました

すべての開発プロセスを停止しました。
```

### 5. 連携シナリオ

```bash
# 開発中のエラー修正後にプロセスリセット
npm run dev
# 「エラーが発生」→ kill → 「全プロセス停止して再起動準備」

# ポート競合の解決
npm start
# 「Port 3000 is already in use」→ kill --port 3000

# 開発環境のクリーンアップ
git checkout main
# → kill → 「ブランチ切り替え前に開発プロセスをクリーンアップ」
```

### 6. 注意事項

- **前提条件**: Windows 環境（taskkill コマンド使用）
- **制限事項**: 管理者権限が必要な場合があります
- **推奨事項**: 重要な作業中は事前にファイル保存を行う

### 7. ベストプラクティス

1. **安全な終了**: 作業中のファイルは事前に保存する
2. **段階的終了**: まず `--check` で状況確認してから終了
3. **ポート指定**: 必要に応じて特定ポートのみ終了
4. **再起動準備**: プロセス終了後は適切にサーバーを再起動
