TL; DR Po prostu uruchom to polecenie, aby je zabić
sudo kill -9 $(lsof -i :3000 -t)
Główna przyczyna:
Ponieważ PID jest zablokowany w pliku, a serwer WWW uważa, że jeśli ten plik istnieje, oznacza to, że już działa. Zwykle po zamknięciu serwera WWW plik jest usuwany, ale w niektórych przypadkach nie następuje prawidłowe usunięcie, więc trzeba usunąć plik ręcznie
Nowe rozwiązania
kiedy biegniesz po szynach
=> Uruchamianie WEBrick
=> Początek rozwoju aplikacji Rails 4.0.4 na http://0.0.0.0:3000
=> Uruchom, rails server -h
aby uzyskać więcej opcji uruchamiania
=> Ctrl-C, aby wyłączyć serwer
Serwer już działa. Sprawdź /your_project_path/tmp/pids/server.pid.
Wychodzę
Więc umieść swoją ścieżkę pokazaną tutaj /your_project_path/tmp/pids/server.pid
i usuń ten plik server.pid :
rm /your_project_path/tmp/pids/server.pid
LUB Jeśli twój serwer został odłączony, postępuj zgodnie z poniższymi wskazówkami:
Jeśli odłączyłeś serwer railsowy za pomocą polecenia "rails -d", to
Usuń odłączony serwer rails za pomocą polecenia
ps -aef | grep rails
LUB przez to polecenie
sudo lsof -wni tcp:3000
następnie
kill -9 pID
LUB użyj tego polecenia
Aby znaleźć i zabić proces według nazwy portu, na którym działa ten program. Dla 3000 zamień port, na którym działa twój program.
sudo kill -9 $(lsof -i :3000 -t)
Stare rozwiązanie:
rails s -p 4000 -P tmp/pids/server2.pid
Możesz również znaleźć ten post, aby uzyskać więcej opcji
Aktualizacja Rails do wersji 3.2.11 przerywa działanie wielu serwerów