rails s
コマンドを使用してRailsサーバーを起動すると、次のように表示されますA server is already running. Check C:/Sites/folder/Pids/Server.pids
ファイルを開くと 4 桁の数字のみが出力されますが、この問題をどのように解決すればよいでしょうか?
ご参考までに
- 今回は Rails cmd の他のインスタンスは実行されていません。
- タスク マネージャーを確認しましたが、
cmd.exe
他に実行中のプロセスは表示されません。(Windows を使用)
ベストアンサー1
TL;DR このコマンドを実行するだけで終了できます
sudo kill -9 $(lsof -i :3000 -t)
根本的な原因:PID はファイルにロックされており、Web サーバーはそのファイルが存在する場合、すでに実行されているとみなします。通常、Web サーバーが閉じられると、そのファイルは削除されますが、場合によっては適切に削除されないため、手動でファイルを削除する必要があります。新しいソリューション
走るときレール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
これを削除するサーバー.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 3.2.11 へのアップデートにより、複数サーバーの実行が中断される