サーバーがすでに立ち上がっているのにlocalhostがひらけない【Rails】

現象

・http://localhost:3000/にアクセスするが、ページが表示されない。
・railsでserverを起動するも、以下が表示される。
A server is already running. Check 〜〜/project/rails_app/tmp/pids/server.pid.

試したこと

エディタの再起動
→VSCodeのターミナルを利用していたので、再起動しました。
ちょうどVSCodeのアップデートが入ったのでこれかなと思いましたが関係ありませんでした。

エラーの確認

Checkと書いてあったので、server.pidを確認しました。IDが書かれていました。
tmpファイルなので、一旦コピーして削除してみました。
Pumaが動き出したり、反応がありました。
最終的に
Address already in use - bind(2) for "127.0.0.1" port 3000 (Errno::EADDRINUSE)
となり、ポートが既に使われているようです。

ただ、pidはプロセスIDで、そのIDファイルを消してもプロセス自体は
消えないので意味はなかったようです。

調査

ポートが何に使われているかターミナルで確認します。
lsof -i:3000

lsof:オープンしているファイルを一覧表示する
-i:ネットワークソケットを対象とする。
3000:3000番portを対象とする。

結果、同じpidのプロセスが起動していたので、削除しました。
kill -9 プロセスid

kill:プロセスおよびジョブを終了させるコマンド
-9:強制終了させるシグナル
pid:Isofで確認した、もしくは、/tmp/pids/server.pid.に記載されているpid

結果

無事、rails s でサーバーを起動できました。