Railsのアプリをローカルサーバーで起動中、間違ってターミナルを閉じてしまった時、もう一度ローカルサーバーを起動しようとすると、以下のようなエラーが出てきます。
ターミナル
xxxxx@xxxxxMacBook-Air test-app % rails s
=> Booting Puma
=> Rails 6.0.3.4 application starting in development
=> Run `rails server --help` for more startup options
A server is already running. Check /Users/xxxxx/projects/test-app/tmp/pids/server.pid.
Exiting
既にローカルサーバーが立ち上がっているため、もう立ち上げられないというエラーです。
今回、この対処方法を記述します。
起動しているサーバーを表示する
以下のコマンドより、起動しているサーバーを表示します。
ターミナル
xxxx@xxxxxMacBook-Air test-app % lsof -i:3000
するとターミナルに以下の表示がされます。
ターミナル
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google 3037 xxxx 34u IPv6 0xxxxxxxxxxxxxxxxx 0t0 TCP localhost:63318->localhost:hbci (ESTABLISHED)
ruby 96536 xxxx 18u IPv4 0xxxxxxxxxxxxxxxxx 0t0 TCP localhost:hbci (LISTEN)
ruby 96536 xxxx 20u IPv6 0xxxxxxxxxxxxxxxxx 0t0 TCP localhost:hbci (LISTEN)
ruby 96536 xxxx 35u IPv6 0xxxxxxxxxxxxxxxxx 0t0 TCP localhost:hbci->localhost:62805 (CLOSE_WAIT)
ruby 96536 xxxx 42u IPv6 0xxxxxxxxxxxxxxxxx 0t0 TCP localhost:hbci->localhost:63062 (CLOSE_WAIT)
ruby 96536 xxxx 43u IPv6 0xxxxxxxxxxxxxxxxx 0t0 TCP localhost:hbci->localhost:63221 (CLOSE_WAIT)
起動しているサーバーを終了する
COMMANDが「ruby」のPID番号のものを削除します。
ここでは「96536」を示します。
ターミナル
xxxx@xxxxxMacBook-Air test-app % kill -9 96536
起動しているサーバーを終了したことで、再度サーバーを立ち上げることができます。