English | 日本語
ポートを掴んでいるプロセスを特定して終了させる、クロスプラットフォームな CLI。
$ portkill 3000
:3000 pid 29168 node.exe
kill this process? [y/N] y
✓ killed pid 29168 (node.exe) on :3000Address already in use のたびに OS ごとに違うコマンド(lsof や netstat →kill)を
思い出すのは面倒。portkill ならそれが 1 コマンド。ポート番号を省くと、LISTEN 中の
ポート一覧から番号で選んで終了できます。
cargo install --git https://github.com/kyo5uke/portkillビルド済みバイナリ(Linux / macOS / Windows)は Releases から。
portkill 3000 # ポート 3000 を掴むプロセスを kill(確認あり)
portkill 3000 -y # 確認なしで kill
portkill -l # LISTEN 中のポートを一覧表示
portkill # 一覧から番号で選んで kill| オプション | 説明 |
|---|---|
-l, --list |
kill せず一覧表示 |
-y, --yes |
確認プロンプトを省略 |
-f, --force |
強制終了(Windows: taskkill /F、Unix: kill -9) |
--json |
一覧を JSON で出力(kill はしない) |
--no-color |
色付けを無効化(NO_COLOR も尊重) |
Windows は netstat / tasklist、macOS・Linux は lsof を内部で使います(追加インストール不要)。
- 別ユーザーやシステムが持つプロセスは権限不足で終了できないことがあります(
sudo/ 管理者で実行)。 -fは強制終了です。未保存の状態は失われます。- Windows では、
-f無しでも穏当に終了できないプロセス(node などのコンソールアプリ)は自動的に強制終了へ切り替わります([forced]と表示)。
0(成功 / 対象なし)/ 1(kill 失敗)/ 2(引数エラー・不正な選択)。