📌

Ctrl+Cを忘れたrails server を停止させたい!

2021/05/25に公開

はじめに

Railsの勉強している最中のことでした。
Rails serverを立ち上げたのはいいものの、「Ctrl + C」 をせずにターミナルウィンドウを閉じてしまいました。serverは起動したままなので、新たに起動することができなくなり困ってましたが、以下の方法で対処できたので参考までにどうぞ。

動作環境

  • MACOS Big Sur version11.3.1
  • Ruby 2.6.6
  • Rails 6.0.3.6

結論

1、まずはオープンしているファイルを一覧表示する「lsof」コマンドを使います。
「-i :3000」でポート番号が3000番のネットワークソケットを指定しています。
つまり「localhost:3000」のことですね。

$ lsof -i :3000

2、そうするとこのような情報が出てきます。

COMMAND  PID         USER   FD   TYPE            DEVICE SIZE/OFF NODE NAME
ruby    2830 hogehoge   12u  IPv4 0x5d34168f5af9e69      0t0  TCP localhost:hbci (LISTEN)
ruby    2830 hogehoge   13u  IPv6 0x5d34168f6ffa9f1      0t0  TCP localhost:hbci (LISTEN)

3、PID(プロセス番号)の下の4桁の数字を、killします。
killは実行しているプロセスを終了するコマンドです。

$ kill 2830

これで止まりました!

参考記事

Rails serverのプロセスを素早く落とす

Discussion