きり丸の技術日記

技術検証したり、資格等をここに残していきます。

ゾンビプロセスを探して殺す

小ネタ。プロセスを殺し切れずに残ってしまうことがよくあるので、コマンドを残します。

このコマンドは、ゾンビ化した開発サーバのプロセスがポートを握ったままになり、新しく開発サーバを起動できないときに使用します。

今回の記事では、ゾンビ化した開発サーバのプロセスを殺し、新しく開発サーバを起動できるような状態にします。

環境

  • Mac, Linux

Windows以外では実施できると思います。今回はGitHub Codespecesで検証してました。

コマンド

lsof -i -P | grep "LISTEN"
kill -9 371

解説

lsof

まずは、プロセス番号を確認するためにlsofを実行します。オプションの-i-Pで、起動中のプロセス番号を確認できます。

ポート公開しているプロセスを明示的に殺したいので、grep "LISTEN"で起動しているポートを探します。

codespace ➜ /workspaces/shell-practice (main) $ lsof -i -P | grep "LISTEN"
  
node     371 codespace   18u  IPv6  41533      0t0  TCP *:35099 (LISTEN)

kill

lsofで対象のプロセス番号(PID)を検索できたので、killコマンドでプロセスを殺します。オプションの-9を付けることで、強制的に殺すことができます。

kill -9 371

※ GitHub Codespacesではリモート操作できるようにデフォルトでnodeが起動しています。こちらを実行してしまうと、GitHub Codespacesにしばらくアクセスできなくなるので、注意してください。

終わりに

LPICを覚えている人は簡単に覚えてるんでしょうね。

私は毎回調べる必要があったので、ブログにまとめました。まとめたことによって知識が蓄積して、このブログを使わなくなるかもしれませんが…。

まぁ、半年後にはまた忘れてそうなので、その時の自分に向けた記事にします。


この記事がお役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。

参考