📝
rails consoleが応答しなくなったらspringをkillしよう
問題
最近開発作業中に、突然
bundle exec rails c
が応答が返ってこなくなる事態に遭遇してしまいました。
この状態の場合、CTRL+Cでプロセスを強制終了しようとしてもやはり止まりません。
解決法:springデーモンをkillする
springというプロセスがrails cを実行するときに走っているプロセスがいるのですが、これが正常に終了していませんでした。
通常は、rails serverやrails consoleを立ち上げて終了した後にプロセスも終了するのですが、まれに終了しない場合があるようです。
実際にspringデーモンをkillする方法
ps axww | grep spring
でspringのプロセスが生きていることを確認する。
kill -9 [先程確認したspringのプロセスのPID]
kill -9 でspringプロセスを強制終了させることで、rails cが動かせるようになるかと思います。
springを利用せずにrailsコンソールを立ち上げる方法
DISABLE_SPRING=1 bundle exec rails c
Discussion