TL;DR このコマンドを実行して強制終了します
sudo kill -9 $(lsof -i :3000 -t)
根本的な原因:
PID はファイル内でロックされており、Web サーバーは、そのファイルが存在する場合、それは既に実行されていることを意味すると考えているためです。通常、Web サーバーが閉じられるとそのファイルは削除されますが、場合によっては適切に削除されないため、手動でファイルを削除する必要があります
。
Rails sを実行すると
=> 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
また、より多くのオプションについては、この投稿を見つけることができます
Rails Update to 3.2.11 は複数のサーバーの実行を中断します