📘
ターミナルでポートを占有しているプロセスを一撃で強制終了するコマンド
🎯 実行コマンド
ポート3000を占有しているプロセスを強制終了するコマンドです。
lsof -t -i :3000 | xargs kill -9
🔓 補足:他のポートの場合
ポート番号を変えるだけで、他のポートにも対応できます。
例:ポート8080を終了する場合
lsof -t -i :8080 | xargs kill -9
🧐 コマンドの解説
-
lsof -i :3000:- lsof: List Open Files(開いているファイルの一覧表示)
- -i :3000: ポート3000を使用しているプロセスを絞り込みます。
-
lsof -t:-
-tオプションは、通常表示されるプロセス情報から、プロセスID (PID) のみを抽出してリストで出力します。
-
-
|(パイプ):- 左側のコマンドの出力(PIDのリスト)を、右側のコマンドの入力として渡します。
-
xargs:- パイプで渡されたPIDのリストを、次のコマンド(
kill -9)の引数として一つずつ展開し、実行します。
- パイプで渡されたPIDのリストを、次のコマンド(
-
kill -9:-
killコマンドでプロセスを終了させます。-9はシグナル9(SIGKILL)を送信することを意味し、プロセスを強制的に終了させます。(最も確実な終了方法です)
-
⚠️ 安全確認 (Optional)
いきなり kill -9 を実行するのが不安な場合は、xargs kill -9 の代わりに xargs echo を使用して、どのPIDが対象になるかを事前に確認できます。
lsof -t -i :3000 | xargs echo
PIDのリストが表示されればOKです。確認後、本命のコマンドを実行してください。
Discussion