Ik ben nieuw op het gebied van rails en ik gebruik een ubuntu-machine en de rubymine IDE. Het probleem is dat ik de spoorserver niet kan tegenhouden. Ik heb geprobeerd de server te stoppen door het rails-proces te beëindigen. Maar als ik pgrep -l rails
uitvoer, wordt zo’n proces niet gevonden. Dus ik kan alleen ruby-processen doden, maar de server stopt niet.
Ik heb ./script/server stop
geprobeerd (sinds ik het begon door ./script/server start
uit te voeren), maar dat werkte niet. Googelend en wat stackoverflow-berichten vond, probeerde ik de luisterpoort van de localhost-poort te wijzigen, maar zonder succes. Kan iemand helpen?
Antwoord 1, autoriteit 100%
U kunt andere poorten gebruiken, zoals de volgende:
rails server -p 3001
Normaal gesproken kunt u in uw terminal Ctrl + C
proberen om de server af te sluiten.
De andere manier om de Ruby on Rails-standaardserver (die WEBrick
is) af te sluiten, is:
kill -INT $(cat tmp/pids/server.pid)
In uw terminal om de PID van het proces te achterhalen:
$ lsof -wni tcp:3000
Gebruik vervolgens het nummer in de PID-kolom om het proces te beëindigen:
Bijvoorbeeld:
$ kill -9 PID
En enkele van de andere antwoorden die ik heb gevonden zijn:
Om de rails-server te stoppen terwijl deze actief is, drukt u op:
CTRL-C
CTRL-Z
Je krijgt de controle terug naar bash
. Typ vervolgens (zonder de $
):
$ fg
En dit gaat terug in het proces, en sluit dan op de juiste manier Rails s
af.
Het is een beetje vervelend, maar dit is zeker beter dan het handmatig beëindigen van het proces. Het valt mee en het is het beste wat ik kon bedenken.
Bijgewerkt antwoord:
Je kunt killall -9 rails
gebruiken om alle actieve apps met “rails
” in de naam te doden.
killall -9 rails
Antwoord 2, autoriteit 16%
u kunt het grep-commando op de volgende manier gebruiken,
ps aux | grep rails
en dan
kill -9 {process_id}
Antwoord 3, autoriteit 9%
pkill -9 rails
om het hele proces van rails te stoppen
Bijgewerkt antwoord
ps aux|grep 'rails'|grep -v 'grep'|awk '{ print $2 }'|xargs kill -9
Hierdoor wordt elk looprailproces afgebroken. Vervang ‘rails’ door iets anders om andere processen te stoppen.
Antwoord 4, autoriteit 7%
Hier volgen stappen om het serverproces te beëindigen:
1. lsof -i tcp:3000
2. kill -9 1234
waar 1234
de PID is van proces: localhost:3000 weergave in stap 1.
OF
Verwijder file(server.pid) onder Rails.root/tmp/pids/
en start de server opnieuw.
OF
open app in een andere poort met het commando:
rails s -p 3001
Antwoord 5, autoriteit 6%
Op mijn MAC werken de killall -9 rails
niet. Maar killall -9 ruby
wel.
Antwoord 6, autoriteit 3%
Ik gebruik over het algemeen:
killall ruby
OF
pkill -9 ruby
die alle ruby-gerelateerde processen die draaien, zoals rails server
, rails console
, enz. zal doden.
Antwoord 7, autoriteit 2%
1. Verwijder eenvoudig het pid-bestand uit de rails-app-directory
Rails_app -> tmp -> pids -> pid file
Verwijder het bestand en voer het uit
rails start
2. Voor Rails 5.0 en hoger kunt u deze opdracht gebruiken
rails restart
Antwoord 8
Gebruik ctrl+c
om uw WEBRICK-server af te sluiten.
Helaas als het niet werkt, sluit dan krachtig de terminal en start deze opnieuw op.
Een andere truc is dat
1. open your system-monitor(a gui application) on ubuntu
2. Select processes tab
3. Then look for a process having name 'ruby'
4. End that process
Antwoord 9
Verwijder de server.pid van de map TMP / PIDS.
In mijn geval was de fout: een server is al actief. Check /home/sbhatta/myApp/tmp/pids/server.pid.
Dus, ik delete server.pid
rm /home/sbhatta/myapp/tmp/pids/server.pid
Voer vervolgens door rails s
Antwoord 10
CTRL-Z moet normaal de truc doen.
Antwoord 11
Stap 1: Zoek wat zijn de items consumeren 3000 poort.
lsof -i:3000
Stap 2: Zoek het proces met de naam
voor Mac
ruby TCP localhost:hbci (LISTEN)
voor ubuntu
ruby TCP *:3000 (LISTEN)
Stap 3: Zoek de PID van het proces en dood het.
kill -9 PID
Antwoord 12
Het is zo eenvoudig als
pkill -9 ruby
niets meer niets minder
Antwoord 13
Als u een meer moderne versie van rails gebruikt en het gebruikt PUMA als de webserver, kunt u de volgende opdracht uitvoeren om het PUMA-proces vast te stellen:
ps aux | grep puma
Het zal resulteren in output vergelijkbaar met dit:
85923 100.0 0.8 2682420 131324 s004 R+ 2:54pm 3:27.92 puma 3.12.0 (tcp://0.0.0.0:3010) [my-app]
92463 0.0 0.0 2458404 1976 s008 S+ 3:09pm 0:00.00 grep puma
U wilt het proces dat niet verwijst naar grep
. In dit geval is de proces-ID 85923.
Ik kan vervolgens de volgende opdracht uitvoeren om dat proces te doden:
kill -9 85923
Antwoord 14
Ik gebruikte killall -9 rails
zoals Sri voorgesteld en het werkte niet. Ik heb de opdracht aangepast op killall -9 ruby
en de server onmiddellijk gesloten.
TL; DR: killall -9 ruby
Antwoord 15
Wanneer de railserver niet start, betekent dit dat het al draait, dan kunt u beginnen met het gebruik van nieuwe poort bijv.
rails s -p 3001
Of Het start en stopt in dat geval U wilt Delete Temp-map in rails directory structuur Het start de rails-server.
Antwoord 16
Controleer de /TMP/TMP/SERVER.PID
Er zit een PID-binnen.
Meestal, ik ziek doe “Kill -9 the_pid” in de CMD
Antwoord 17
Ik heb opgemerkt op Windows (ik gebruik 10, maar niet zeker of hetzelfde voor OLER). Als u CMD.exe en CTRL + C gebruikt, stopt de RAISL-server correct.
Echter, als u Git Bash gebruikt, het niet. Er staat dat het heeft, maar wanneer je naar de TMP-PID’s kijkt, is het er nog steeds.
Misschien een bug met git bash?
Antwoord 18
killall -9 ruby
DOST ALLE DE RUBIELE PROCEDURES, EN OP MINISTE OP MIJN MACHINE, TRUIL SERPERS LEIDEN ALS RUBYPROCEDURE. killall -9 rails
is veel specifieker en werkt niet voor oudere versies van rails-servers (het geeft een ‘rails: geen proces gevonden’ omdat het proces Ruby wordt genoemd)
opgetreden dit probleem een tijdje geleden. Na het indienen van een formulier in activeadmin, de rails server gewoon opgehangen en ik was niet in staat om het te doden met behulp van een normale manier (zelfs na ctrl + z was nog steeds actief op de achtergrond). Learner’s antwoord geholpen, maar dit commando hoeft niet proces-id.
Antwoord 19
Het is te laat voor deze vraag.
Hier is mijn 2 cent. Ik maakte een rake taak voor het stoppen van de server wanneer ik geen toegang toe hebben.
Ik heb alleen getest op Mac dat wel.
Met deze kun je het gewoon toe te voegen aan uw project vervolgens de rake commando.
Hier ga je:
Gist link:-Laatste versie zal hier te zijn.
https://gist.github.com/houmanka/289184ca5d8d92de0499#file-server-rake
Sommige code in hier:
# Make a file under: `project_root/lib/tasks/server.rake`
# Then paste the following code
namespace :server do
desc "Stop the running server by killing the PID"
task :kill do
STDOUT.puts "Enter port number: "
post_number = STDIN.gets.strip
system "pid=$(lsof -i:#{post_number.to_i} -t); kill -TERM $pid || kill -KILL $pid"
end
end
# Then to use it in the terminal: `rake server:kill`
Antwoord 20
Zorg er ook voor dat je doet command Cntrl + C in dezelfde terminal (tab) dat wordt gebruikt om de server te starten.
In mijn geval had ik 2 tabbladen, maar ik vergat om de server te stoppen van het juiste tabblad en ik vroeg me af waarom Cntrl + C niet werkt.
Antwoord 21
Een super gemakkelijke manier zou zijn
gem install shutup
ga dan in de huidige map van uw rails te projecteren en run
shutup
# dit zal de Rails doden proces die momenteel worden uitgevoerd
U kunt de opdracht ‘shutup’ elke keer dat u wilt gebruiken
vrijwaringsclausule: Ik ben de schepper van dit juweeltje
Let op: als u gebruik maakt RVM installeer de gem wereldwijd
rvm @global do gem install shutup
Antwoord 22
Voor mijn windows 10 machine, Ctrl - C kbd>+ Ctrl -. D kbd>werken
Antwoord 23
We kunnen rails sessie doden onder Linux met PORT geen
fuser -k 3000/tcp
hier 3000 is een port niet.
Nu is je server opnieuw op te starten, ziet u uw server is in lopende staat.
Antwoord 24
Ga als volgt te werk:
- Open uw project
- Selecteer in tmp map
- selecteer PID map
- delete server.pid bestand
- Nu begin je rails server
Antwoord 25
-
Open het bestand met de locatie gegeven
sudo vi /Users/user1/go/src/github.com/rails_app/rails_project/tmp/pids/server.pid
-
zoek het process_id / thread_id waarbij de werkwijze wordt runnning.
-
Dood de opgegeven proces / thread met
kill -9 84699
Antwoord 26
Aan rails 6 met
ps aux | grep rails
is niet retourneren van de server proces
ik moest doen
ps aux | grep puma
om het eigenlijke proces te vinden en vervolgens te doden met behulp van
kill -9 {process_id}
Antwoord 27
Druk op Ctrl - C het zal stoppen
Zo niet, controleer