😺

特定のポートを使っているプロセスを調べてkillする方法

2021/06/18に公開

複数プロジェクトを開発していると、ときどき前のプロジェクトを停止し忘れていてポートが重複して起動したいプロジェクトが起動できないといったことがたまに発生します。

そんなときにサクッとkillコマンドで特定のポートを使っているプロセスを強制終了する方法をメモ。

環境

  • macOS Big Sur 11.3.1

全体

kill -9 $(lsof -t -i :3000)

解説

例としてポート3000がすでに使われていた場合を考えてみる。

lsof -t -i :8080

lsofコマンドとそのオプションを使って、特定のポートを使っているプロセスのIDのみを取得する。

  • lsof
    • manコマンドでマニュアルをみてみると、list open filesの略
    • 開かれているファイルのリストだが、指定したポートを使っているプロセスを調べることにも使える
    • オプション
      • -t
        • PID(Process ID)のみを出力
      • -i
        • ポートを指定
kill -9

lsofで特定したプロセスを終了させるためにkillコマンドを使う。

  • kill
    • 実行中のプロセスにシグナルを送るコマンド
    • シグナル
      • プロセスに対して送る処理の種類
    • オプション
      • -9
        • 9SIGKILLでプロセスに対して終了という処理を送るシグナル
        • なので、kill -SIGKILLでも意味は同じ

参考

Discussion