Help us understand the problem. What is going on with this article?

A server is already running(rails sのプロセスが切れない)をさっさと解決する

サーバーを起動しようとすると以下がでるときの対処法を数種類まとめました!
どれかで解決できる(はず)。

❯ rails s
=> Booting Puma
=> Rails 5.0.7.2 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
A server is already running. Check プロジェクト名/tmp/pids/server.pid.
Exiting

何種類もあるため、上手くいかないときは順番に試してみるコトをおすすめします。

まず確認すること

たまにMac標準のターミナルでサーバー起動状態 & VSCodeなどのテキストエディタ上のターミナルでサーバー起動しようとしている方がいるので、
まずは別のターミナルで既にサーバーを動かしていないかを確認しましょう!

パターン①

railsのプロセスを削除する

$ ps aux | grep rails
user   28321 s001  S+     0:00.00 grep rails

$ kill -9 28321

$ rails s
→ 解決

パターン②

ポート番号3000番のプロセスを削除する

$ lsof -wni tcp:3000
COMMAND   PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ruby    28295  user   21u  IPv4 0x77d8a30cabb79cc9      0t0  TCP 127.0.0.1:hbci (LISTEN)
ruby    28295  user   22u  IPv6 0x77d8a30cac93f9f9      0t0  TCP [::1]:hbci (LISTEN)

# 「COMMAND」に「ruby」と書いてある行のPIDをコピーして処理を停止(今回は28295)
$ kill -9 28295

$ rails s
→ 解決

パターン③

サーバー起動の際に使用するIDを削除する

$ rm /tmp/pids/server.pid

$ rails s
→ 解決

このファイルの場所は[アプリ名]/tmp/pids/server.pidに入っているので、パスを指定して削除します。
本来、サーバーを終了するとこのファイルは削除されますが、残ったままでエラーになっている可能性があるみたいです。
server.pidはサーバー起動や終了で勝手に作られたり削除されたりするので、普段は気にしなくて良いです。

まとめ

頻繁に出てきたkill -9 ○○Linuxコマンドの一つで、プロセスを終了するためのものです。
個人的には、パターン②ですんなりプロセスを終了出来ることが多い気がします。

サーバーの立ち上げで足止めをくらうと萎えるので、さくっと解決してください!

Trilingual
自分が学習に詰まったポイントを記事にしてます。 一人くらい、同じエラーでつまづく人いますよね。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした