LoginSignup
6

More than 3 years have passed since last update.

Railsのserver.pid.を削除したら出たエラーを対処してみた

Last updated at Posted at 2019-11-07

自己紹介

今月からプログラミングスクールに通ってRuby on Railsを勉強してます!
Qiita初投稿なので初歩的なことかもしれないですが、書いていきます!

エラーが発生

カリキュラムを進めるために、Railsのサーバーを起動させようとしたところ、エラーとなりました。

A server is already running. Check /home/ec2-user/environment/pictgram/tmp/pids/server.pid.

サーバーはもう動いているみたい。えっ再起動どうするの。

てことで、調べてみるとこんな投稿が!
A server is already running 対処方法【Rails】

①ターミナルの再起動→ダメ、、、
②server.pidの削除したら直るでしょと思いきや、、、

rails s をするとエラー発生です。どうしましょ。

Address already in use - bind(2) for "127.0.0.1" port 8080 (Errno::EADDRINUSE)

次に調べて行き着いたのはこの投稿でした。
Address already in use の対処法

# ポートNoが分かっていればこれで確認できる
$ lsof -i:ポートNo

そういえば、ポート番号はさっきのエラーに8080と出ていたなと。

$ lsof -i:8080
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ruby    4162 ec2-user   14u  IPv4  14892      0t0  TCP localhost:webcache (LISTEN)
ruby    4162 ec2-user   15u  IPv6  14893      0t0  TCP localhost6:webcache (LISTEN)
ruby    4162 ec2-user   20u  IPv4  15297      0t0  TCP localhost:webcache->localhost:39268 (CLOSE_WAIT)

そして、PIDの値を知ることができました。
なので、先ほどの投稿にあったとおりに

$ kill -9 4162

直ってくれーと祈りながらサーバーを起動してみると、大成功!

まとめると、こうすれば対処できるみたいです!

# PIDの確認
$ lsof -i:[ポートNo]

# プロセスの強制終了
$ kill -9 [PID]

さいごに

初投稿、なんだかすんなり書けました笑
また色々と投稿していきたいと思います!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6