2009-04-20 5 views
24

Je suis actuellement en train d'apprendre Ruby on Rails. J'ai suivi le podcast Learning Rails et les screencasts.Ruby on Rails sur Windows XP CTRL + C dans la console ne s'arrêtant pas mongrel

J'ai rencontré un problème, bien plus d'un ennui. Chaque fois que le screencast me fait tuer le serveur mongrel, je suis obligé de fermer la fenêtre de la console parce que CTRL + C ne la tue pas comme il se doit. Je dois ensuite ouvrir une nouvelle fenêtre de console, naviguer vers l'application de mes rails et lancer une commande 'script/serveur ruby' pour la redémarrer. Ce que je cherche est peut-être une raison pour cela, une façon de le réparer ou d'autres suggestions pour rendre ce processus plus rapide et/ou moins ennuyeux. Ou même éventuellement un fichier batch ou un raccourci pour ouvrir une fenêtre cmd droit là où j'en ai besoin?

Répondre

40

Utilisez Ctrl + Pause/Pause à la place. Cela arrêtera le serveur.

enter image description here

+0

merci, je vais donner un essai – Jayrox

+0

J'ai rencontré ce problème aussi. Ctrl + Pause/Break a fonctionné à merveille. Cela semble être un nouveau problème avec les rails 2.3.2. Je viens de passer à la version 2.1.1. Si je change mon environnement en 2.3.2 Ctrl + C ne fonctionne pas, le changer en 2.2.2, fonctionne très bien. – Tilendor

+1

J'avais le même problème avec un script Python fonctionnant sous Windows CMD, Ctrl + Pause a fait l'affaire –

0

J'ai le même problème sous Windows, donc je ne peux pas vous aider à résoudre le problème Ctrl + C. Mais, je peux pointer vers Windows PowerToys' Open Command Window Here - il ajoute "fenêtre de commande ouverte ici" à votre fenêtre de l'Explorateur, c'est une exigence pour le développement (de toute sorte) sur les machines Windows.

+0

Eh bien, thats certainement un début. Je ne peux pas imaginer que nous sommes les deux seules personnes sur SO qui ont utilisé Rails sur Windows et ont un problème avec CTRL + C tuer le serveur. – Jayrox

+0

J'utilise windows (xp) et n'ai aucun problème à tuer mon serveur. – srboisvert

0

Si vous commencez un peu différent bâtards comme celui-ci:

$ cd myrailsapp 
$ mongrel_rails start 

alors vous pouvez arrêter comme ça:

$ mongrel_rails stop 

Vous pouvez obtenir plus d'informations here. Cela pourrait être intéressant de: Mongrel as a service

1

Je crois que cela peut arriver si vous attrapez Exception et ne le relancez pas. SIG-INT serait pris là et finalement ne pas tuer le processus.

+0

comment puis-je vérifier si cela se produit. Je sais que je n'ai pas ajouté explicitement un crochet d'exception pour SIG-INT ou toute autre exception (pour l'instant) car je suis juste en train de suivre un tutoriel de base – Jayrox

+0

Recherchez simplement votre projet "rescue Exception". –

0

Vérifiez la version de votre rails et utilisez

ctrl + c + Pause/Attn 2,3. 2
ctrl + c pour 2.1.2

10

Ctrl +Pause/Attn la force ferme le serveur. Ce n'est pas normal. De toute façon, mon ordinateur portable Dell n'a pas la clé.

Donc, utilisez ceci:
au lieu de rails s utilisez ruby script/rails s.
Ctrl + C fonctionnera parfaitement avec cela. Testé.

+0

Fonctionne avec brio avec Dell XPS14 - vérifié. –

+0

Fonctionne très bien - confirmé. Merci :) – Myna

0

Une fois que vous frappez Ctrl +c, envoyer une demande au serveur en actualisant votre page de navigateur où vous l'aviez ouvert. L'invite de commande indiquera maintenant Exiting et vous laissera revenir à la ligne de commande.

1

Si tout cela échoue, a frappé Ctrl +Alt +Supprimer, ouvrez le gestionnaire de tâches et juste tuer le processus rubis;) Ruby process