LoginSignup
0
0

More than 1 year has passed since last update.

rails sを実行時、ターミナル上で"A server is already running." と表示される対処法

Posted at

はじめに

タイトル通りです。自身の備忘録としてQiitaへ初投稿させていただきます。
ターミナル上で以下のエラー文が表示され、起動できなくなりました。

itoshin@mbp "ファイル名" % rails s
=> Booting Puma
=> Rails 6.0.3.7 application starting in development 
=> Run `rails server --help` for more startup options
A server is already running. Check /Users/itoshin/"ファイル名"/tmp/pids/server.pid.

A server is already running.
直訳すると、「すでにサーバーが起動しています。」とのこと。
しかし、製作中のサイトをローカル上で読み込もうとしても動作せず、確認することができません。

原因について

Ctrl + Cでローカルサーバを実行して終了したつもりが、Ctrl + Zを押してしまったからです。
ターミナルに打ち込んだ^Zの表示を見て、気がつきました。

itoshin@mbp "ファイル名" %

実行後、上記のように見慣れたプロンプトのみの表示になりました。
一見、ローカルサーバが起動していないように見えるのですが、実はバックグラウンド上で起動した状態になっております。

対処方法

ローカル上で動いているプロセスを見つけ出し、killを実行します。
 
まず、以下のコマンドを実行します。

itoshin@mbp "ファイル名" % lsof -i:3000

このlsof -i:3000というlsofコマンドの詳細を明記します。

コマンド名 説明
lsof オープンしているファイルを一覧表示する
-i:3000 ローカル(3000番)のネットワークソケットファイルを指定する 

実行後、下記のようなものがターミナル上に表示されます。

COMMAND     PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ruby      29088 itoshin   13u  IPv4 0x57e8cc5b4f41b215      0t0  TCP localhost:hbci (LISTEN)
ruby      29088 itoshin   14u  IPv6 0x57e8cc5b5416fe15      0t0  TCP localhost:hbci (LISTEN)
ruby      29088 itoshin   19u  IPv6 0x57e8cc5b52360475      0t0  TCP localhost:hbci->localhost:58355 (CLOSE_WAIT)

PID番号が「29088」と表示されています。(PID番号は都度変わります)
こちらの番号を指定してkill -9 "PID番号"を実行します。
すると下記(2行目以降)のような表示が出力されます。

itoshin@mbp "ファイル名" % kill -9 29088
itoshin@mbp "ファイル名" % 
[1]  + killed     rails s

再度下記のコマンドを実行し、まだバックグラウンド上で起動していないか確認します。

itoshin@mbp "ファイル名" % lsof -i:3000

実行後、プロンプトのみの表示が出ればOKです。
再度rails sを実行し、サーバーを起動させます。

itoshin@mbp "ファイル名" % rails s
=> Booting Puma
=> Rails 6.0.3.7 application starting in development 
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 3.12.6 (ruby 2.6.5-p114), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop

無事、ローカルサーバが起動しました。

おわりに

丁寧に記載したつもりですが、プログラミング初学者のため至らない部分があるかもしれません。
間違いなどございましたら、お手数ですがコメントいただけると幸いです。
よろしくお願いします。

参考記事

0
0
0

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