たまにこの現象が起きるので、備忘としてメモ。
Rails始めたてで同じ状況に陥った方の助けになれば幸いです。
事象
ローカルサーバーを立ち上げてchromeで動作確認しながらアプリ制作中…
不安定だなあと思って健気に待っていたら、localhost:3000のタブだけ止まっていることに気づく。
ターミナルで control + c
を試しても反応しない…なんだこれは…
強制終了するのも恐いしどうしたもんだろうか。
対処法
- rubyのPIDを確認
- rubyのPIDを止める
1. rubyのPIDを確認する
lsof
コマンドで、ポート番号3000で動いている処理を確認する。
↓lsof -i:3000
の結果(実際はUSER以降の列にも出力があります)
daikimorita@daikinoMacBook-Pro javascript_skillcheck % lsof -i:3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google xxxx
localhost:55103->localhost:hbci (ESTABLISHED)
ruby xxxxx
localhost:hbci (LISTEN)
ruby xxxxx
localhost:hbci (LISTEN)
ruby xxxxx
localhost:hbci->localhost:54631 (CLOSE_WAIT)
ruby xxxxx
localhost:hbci->localhost:54636 (CLOSE_WAIT)
ruby xxxxx
localhost:hbci->localhost:54655 (CLOSE_WAIT)
ruby xxxxx
localhost:hbci->localhost:54656 (CLOSE_WAIT)
ruby xxxxx
localhost:hbci->localhost:54659 (CLOSE_WAIT)
ruby xxxxx
localhost:hbci->localhost:55103 (ESTABLISHED)
rubyのPIDは xxxxx(数字が入ります) と表示されている。これを止めたい。
何行も出てるのは、私がcontrol + c
を何度も押したせいです笑
2. rubyのPIDを止める
下記のコマンドを実行します。
kill -9 xxxxx
結果
「rails s
を実行しているターミナルのタブ」を見ると、killed
の表示が出ていて、スタンバイ状態になってます。
zsh: killed
もう一度rails s
で立ち上げてみると、無事にchromeでページが表示されました。解決!
参考記事
Rails serverのプロセスを素早く落とす
PIDについて
[localhost:3000について](Rails serverのプロセスを素早く落とす
)