TL; DR Führen Sie einfach diesen Befehl aus, um ihn zu beenden
sudo kill -9 $(lsof -i :3000 -t)
Grundursache:
Da die PID in einer Datei gesperrt ist und der Webserver der Ansicht ist, dass diese Datei bereits ausgeführt wird, bedeutet dies, dass sie bereits ausgeführt wird. Wenn ein Webserver geschlossen wird, wird diese Datei normalerweise gelöscht. In einigen Fällen erfolgt jedoch kein ordnungsgemäßes Löschen, sodass Sie die Datei manuell entfernen müssen.
Neue Lösungen
wenn Sie Schienen laufen s
=> WEBrick booten
=> Rails 4.0.4 Anwendung beginnt in der Entwicklung am http://0.0.0.0:3000
=> rails server -h
Für weitere Startoptionen ausführen
=> Strg-C zum Herunterfahren des Servers
Ein Server läuft bereits. Überprüfen Sie /your_project_path/tmp/pids/server.pid.
Verlassen
Platzieren Sie also Ihren hier gezeigten Pfad /your_project_path/tmp/pids/server.pid
und entfernen Sie diese server.pid- Datei:
rm /your_project_path/tmp/pids/server.pid
ODER Wenn Ihr Server getrennt wurde, befolgen Sie die folgenden Richtlinien:
Wenn Sie Ihren Rails-Server mit dem Befehl "Rails -d" getrennt haben, dann
Entfernen Sie den vom Schienen getrennten Server mit dem Befehl
ps -aef | grep rails
ODER durch diesen Befehl
sudo lsof -wni tcp:3000
dann
kill -9 pID
ODER verwenden Sie diesen Befehl
Suchen und Beenden des Prozesses anhand des Portnamens, auf dem das Programm ausgeführt wird. Bei 3000 ersetzen Sie den Port, auf dem Ihr Programm ausgeführt wird.
sudo kill -9 $(lsof -i :3000 -t)
Alte Lösung:
rails s -p 4000 -P tmp/pids/server2.pid
In diesem Beitrag finden Sie weitere Optionen.
Rails Update auf 3.2.11 unterbricht die Ausführung mehrerer Server