TL; DRこのコマンドを実行して強制終了する
sudo kill -9 $(lsof -i :3000 -t)
根本的な原因:
PIDがファイルでロックされているため、Webサーバーは、そのファイルが存在する場合はすでに実行中であると見なします。ウェブサーバーは、ファイルが削除されたことを閉じていますが、手動でファイルを削除する必要がありますので、いくつかのケースでは、適切な削除は発生しません。通常
の新ソリューション
あなたがレールを走るとき
=> WEBrickの起動
=>開発を開始するRails 4.0.4アプリケーション http://0.0.0.0:3000
=> rails server -h
より多くの起動オプションを実行する
=> Ctrl-Cでサーバーをシャットダウン
サーバーはすでに実行中です。/your_project_path/tmp/pids/server.pidを確認します。
終了しています
ここに表示されているパスを配置します/your_project_path/tmp/pids/server.pid
このserver.pidファイルを削除します。
rm /your_project_path/tmp/pids/server.pid
または、サーバーが切り離されている場合は、以下のガイドラインに従ってください。
コマンド「rails -d」を使用してRailsサーバーを切り離した場合、
コマンドを使用して、レールから切り離されたサーバーを削除する
ps -aef | grep rails
またはこのコマンドで
sudo lsof -wni tcp:3000
その後
kill -9 pID
または、このコマンドを使用します
そのプログラムが実行されているポート名でプロセスを見つけて強制終了します。3000の場合、プログラムが実行されているポートを置き換えます。
sudo kill -9 $(lsof -i :3000 -t)
古いソリューション:
rails s -p 4000 -P tmp/pids/server2.pid
また、複数のサーバーを実行している3.2.11へのRailsの更新が失敗するその他のオプションについては、この投稿を参照してください。