小ネタ。プロセスを殺し切れずに残ってしまうことがよくあるので、コマンドを残します。
このコマンドは、ゾンビ化した開発サーバのプロセスがポートを握ったままになり、新しく開発サーバを起動できないときに使用します。
今回の記事では、ゾンビ化した開発サーバのプロセスを殺し、新しく開発サーバを起動できるような状態にします。
環境
- 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でのシェアや、今後も情報発信しますのでフォローよろしくお願いします。