あうとぷっと日記

勉強で学んだことを吐き出す

ターミナル強制終了後にサーバーが終了しない(グルグルしっぱなし)

復習のため書きます

 

ターミナルで処理が無限ループしたため強制終了したところ、サーバーは起動したままで終了できない状態になりました。

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 〇〇〇〇〇

これで無事サーバーは終了されました