Je suis l'aide de RVM, Ruby 1.9.2, et les Rails 3.0.7
Un standard de tuer le processus à partir d'un autre terminal ne fonctionne pas, soit, mais kill -9, bien sûr.
J'ai trouvé une question similaire, CTRL+C pour Webbrick serveur ignoré, mais il est difficile de savoir si cette question est de décrire le même problème sous-jacent. Aussi, la résolution ne semble pas s'appliquer, car je ne suis pas en utilisant :git dans mon Gemfile.
mise à jour 1: (vieux maintenant... voir la mise à jour 2, ci-dessous, pour le vrai scoop)
J'ai réussi à réduire le problème à un seul bijou. Si vous source le script de test suivant, vous pouvez voir le problème, trop (en supposant que vous êtes sur Ubuntu 11.04... il n'y a pas de problème dans 10.04)
rm -rf tmpkilltest
rvm 1.9.2
rvm --force gemset delete tmpkilltest
rvm gemset create tmpkilltest
rvm 1.9.2@tmpkilltest
gem install rails -v=3.0.7 --no-rdoc --no-ri
gem install sqlite3 -v=1.3.3 --no-rdoc --no-ri
rails new tmpkilltest
cd tmpkilltest
echo "gem 'barista', '1.0'" >> Gemfile
bundle
rails s
Le fait que le problème est causé par les Rails' interaction avec un bijou m'amène à me croient maintenant que cette question est liée à CTRL+C pour Webbrick serveur ignoré, bien que le cas de test ci-dessus montre que celui-ci est clairement pas causés par l'utilisation d' :git pour un bijou.
mise à jour 2:
Dans la mise à jour 1 , j'ai mentionné que j'ai rétréci vers le bas à un joyau. Quand je suis allé à travers ce bijou, j'ai fini par trouver le vrai coupable. Le gem a été faire un seul appel système. J'ai fait une très légère modification dans le script de test où je n'ai plus de charge, le barista gem, mais plutôt j'ai tout simplement ajouter un seul appel système à la fin de l'application.rb. Avec ce système d'appel, ctrl-c ne fonctionne pas. Supprimer l'appel système et fonctionne bien.
rm -rf tmpkilltest
rvm 1.9.2
rvm --force gemset delete tmpkilltest
rvm gemset create tmpkilltest
rvm 1.9.2@tmpkilltest
gem install rails -v=3.0.7 --no-rdoc --no-ri
gem install sqlite3 -v=1.3.3 --no-rdoc --no-ri
rails new tmpkilltest
cd tmpkilltest
bundle
echo "\`date\`" >> config/application.rb
rails s
Cela pourrait expliquer l'apparente similitude entre cette question et CTRL+C pour Webbrick serveur ignoré. Mon intuition est que le gem ils mentionnent également fait un appel système.