2009-04-20 6 views
24

Attualmente sono in fase di apprendimento di Ruby on Rails. Ho seguito il podcast e gli screencast Learning Rails.Ruby on Rails su Windows XP CTRL + C in console non si ferma bastardo

Ho incontrato un problema, molto più fastidioso. Ogni volta che lo screencast mi fa uccidere il server ibrido, sono costretto a chiudere la finestra della console perché CTRL + C non lo uccide come dovrebbe. Devo quindi aprire una nuova finestra della console, accedere alla mia app per le rotaie e inviare un comando 'ruby script/server' per riavviarlo.

Quello che sto cercando è probabilmente un motivo per questo, un modo per risolvere il problema o altri suggerimenti per rendere questo processo più veloce e/o meno fastidioso. O forse anche un file batch o una scorciatoia per aprire una finestra di cmd nel punto in cui mi serve?

risposta

40

Utilizzare Ctrl + Pausa/interruzione invece. Si fermerà il server.

enter image description here

+0

grazie, provo a provare – Jayrox

+0

Ho avuto questo problema. Ctrl + Pausa/Pausa ha funzionato meravigliosamente. Questo sembra essere un nuovo problema con le guide 2.3.2. Ho appena aggiornato da 2.1.1. Se cambio il mio ambiente in 2.3.2 Ctrl + C non funziona, cambialo di nuovo in 2.2.2, funziona alla grande. – Tilendor

+1

Stavo avendo lo stesso problema con uno script Python in esecuzione in CMD di Windows, Ctrl + Pausa ha fatto il trucco –

0

Ho lo stesso problema anche su Windows, quindi non posso aiutarti a risolvere il problema Ctrl + C. Ma, posso indirizzarti verso Windows PowerToys' Open Command Window Here - aggiunge "Apri finestra di comando qui" alla tua finestra di Explorer, è un requisito per lo sviluppo (di qualsiasi tipo) su macchine Windows.

+0

Beh, questo è sicuramente un inizio. Non riesco a immaginare che siamo le uniche due persone su SO che hanno usato Rails su Windows e hanno un problema con CTRL + C che uccide il server. – Jayrox

+0

Io uso windows (xp) e non ho problemi a uccidere il mio server. – srboisvert

0

Se si avvia Mongrel un po 'diverso come questo:

$ cd myrailsapp 
$ mongrel_rails start 

allora si può fermare in questo modo:

$ mongrel_rails stop 

È possibile ottenere ulteriori informazioni here. Questo potrebbe essere interessante per: Mongrel as a service

1

Credo che questo possa accadere se stai rilevando Eccezione e non rilanci. SIG-INT verrebbe catturato lì e alla fine non ucciderà il processo.

+0

come posso controllare se questo sta accadendo. so che non ho aggiunto esplicitamente un'eccezione catch per SIG-INT o qualsiasi altra eccezione (ancora) dato che sto solo seguendo un'esercitazione di base – Jayrox

+0

Basta cercare il tuo progetto per "eccezione di salvataggio". –

0

controllare la versione rotaie e utilizzare

Ctrl + c + pausa/BREAK per 2,3. 2
ctrl + c per 2.1.2

10

Ctrl +pausa/BREAK forza chiude il server. Non è normale. Ad ogni modo il mio notebook Dell non ha la chiave.

Quindi utilizzare questo:
anziché rails s utilizzare ruby script/rails s.
Ctrl + C funzionerà perfettamente con quello. Testato.

+0

Funziona brillantemente con Dell XPS14 - verificato. –

+0

Funziona alla grande - confermato. Grazie :) – Myna

0

Dopo aver colpito Ctrl +c, inviare una richiesta al server per aggiornare la pagina del browser in cui si doveva aperto. Il prompt dei comandi ora dirà Exiting e ti consentirà di tornare alla riga di comando.

1

Se tutto fallisce, ha colpito Ctrl +Alt +Delete, aprire il task manager e basta uccidere il processo rubino;) Ruby process