ターミナル強制終了後にサーバーが終了しない(グルグルしっぱなし)
復習のため書きます
ターミナルで処理が無限ループしたため強制終了したところ、サーバーは起動したままで終了できない状態になりました。
A server is already running. Check /Users/XXXXXXXXXXXXX/projects/XXXXXXX/tmp/pids/server.pid.
こんなエラー文です
control + Cでも終了できずrails sコマンドを打ってもダメでした。
調べたところターミナル内でまずlocalhostで動いている原因的なファイルを探し、狙い撃ちでそれを消す方法があり試しました。
まず
% lsof -i:3000
で開いているファイルを出します
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google 458 XXXXXXXXX 22u IPv6 0xb75368c046751fd5 0t0 TCP localhost:53227->localhost:hbci (ESTABLISHED)
ruby 25624 XXXXXXXXX 12u IPv4 0xb75368c02ba8ec85 0t0 TCP localhost:hbci (LISTEN)
ruby 25624 XXXXXXXXX 13u IPv6 0xb75368c02b615235 0t0 TCP localhost:hbci (LISTEN)
ruby 25624 XXXXXXXXX 25u IPv6 0xb75368c046753e75 0t0 TCP localhost:hbci->localhost:53227 (ESTABLISHED)
こんな感じで出ます。
そしてrubyとなっているところのPID値を入れたコマンドを打ちます
% kill -9 〇〇〇〇〇
これで無事サーバーは終了されました