😎

"`rails s`でサーバー起動時の"「`A server is already running.`」エラーへの対処

2021/01/15に公開

事象

レイルズサーバーを立ち上げようとしたところ、
A server is already running.」エラーが発生

$ bundle exec 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 /home/masa/environment/RailsTutorial/sample_app2/tmp/pids/server.pid.
Exiting

対処

server.pidファイルの中身を確認。

$ cat /home/masa/environment/RailsTutorial/sample_app2/tmp/pids/server.pid
895

対象サーバーのプロセスIDは895
コマンドでも確認。

$ lsof -i:3000
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ruby    895 masa   13u  IPv4  19793      0t0  TCP localhost:3000 (LISTEN)
ruby    895 masa   14u  IPv6  19794      0t0  TCP ip6-localhost:3000 (LISTEN)

該当プロセス895を削除。

$ kill 895

server.pidファイルを再度確認。

$ ls /home/masa/environment/RailsTutorial/sample_app2/tmp/pids/server.pid
ls: cannot access '/home/masa/environment/RailsTutorial/sample_app2/tmp/pids/server.pid': No such file or directory

該当プロセス895killしたことで、server.pidファイルも削除された。

サーバー再起動

$ rails s

無事起動できました。

Discussion