Kiedy uruchamiam serwer railsowy za pomocą rails s
polecenia, to się wyświetlaA server is already running. Check C:/Sites/folder/Pids/Server.pids
Kiedy otwieram plik, wyświetla tylko 4-cyfrową liczbę, więc jak mogę rozwiązać ten problem?
FYI
- Żadna inna instancja cmd Rails nie działa tym razem.
- Zaznaczono Menedżera zadań, ale tylko
cmd.exe
pokazuje, że żaden inny proces nie jest uruchomiony. (w systemie Windows).
Odpowiedzi:
Usuń plik: C: /Sites/folder/Pids/Server.pids
Wyjaśnienie W systemie UNIX przynajmniej zwykle śledzimy identyfikator procesu (pid) w pliku takim jak server.pid. Myślę, że to robi to samo tutaj. Ten plik prawdopodobnie pozostał po awarii.
źródło
netstat -a -o
w wierszu polecenia, aby zobaczyć, który proces używa portu 3000TL; DR Po prostu uruchom to polecenie, aby je zabić
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 :
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
LUB przez to polecenie
następnie
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.
Stare rozwiązanie:
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
źródło
sudo kill -9 $(lsof -i :3000 -t)
Następnie powinieneś zobaczyć proces rubinowy i możesz uruchomić
powinieneś być dobry, aby teraz uruchomić ten proces
uruchamianie wielu procesów nie wydaje się dobrym pomysłem iz tego, co przeczytałem, wiele osób się zgadza. Zauważyłem niestety wiele wycieków pamięci z railsami, więc nie mogłem sobie wyobrazić pracy dwóch procesów. Wiem, że w miarę upływu czasu moja strona odświeża się coraz wolniej z powodu danych przechowywanych w pamięci.
źródło
źródło
-t
opcja), a następnie zabija proces przez ten pobrany PID.Możesz pozbyć się tego procesu, zabijając go:
źródło
brygadzista start itp. uruchomić usługę
źródło
Dzieje się tak, gdy zabijasz proces serwera, a plik pid nie został zaktualizowany. Najlepszym rozwiązaniem jest usunięcie pliku Server.pid .
Użyj polecenia
źródło
gem install shutup
następnie przejdź do bieżącego folderu projektu railsów i uruchom
shutup
# to zabije aktualnie uruchomiony proces RailsówMożesz użyć polecenia „shutup”, kiedy tylko chcesz
DICLAIMER: Jestem twórcą tego klejnotu
UWAGA: jeśli używasz rvm, zainstaluj gem globalnie
źródło
Prawdopodobnie zawiesił serwer przez:
^Z
.Cztery cyfry, które
vim C:/Sites/folder/Pids/Server.pids
wyprowadzają, to identyfikator procesu.Powinieneś
kill -9 processid
, zastępując identyfikator procesu czterema liczbami, które wyświetlił vim (lub inny edytor).źródło
Jeśli korzystasz z systemu Windows, wystarczy wykonać tylko jeden krok, aby „zrestartować szyny”, a następnie ponownie wpisać „rails s” .
źródło
W systemie Windows Rails 5.2 usuń ten plik
i biegnij
jeszcze raz.
źródło
Biegać:
fuser -k -n tcp 3000
Spowoduje to zabicie procesu działającego na domyślnym porcie 3000.
źródło
Właśnie miałem ten problem i próbowałem ustawić go na inny port, ale jedyne, co musiałem zrobić, to usunąć mój
[app_directory]/tmp/pids/server.pid
i wszystko było w porządku.źródło
Biegać:
w Ubuntu / linux
Lub
lub
źródło