Ответ 1
Используйте Ctrl + Pause/Break. Он остановит сервер.
В настоящее время я изучаю Ruby on Rails. Я слежу за Learning Rails подкастом и скринкастами.
Я столкнулся с проблемой, а скорее раздражением. Каждый раз, когда screencast заставляет меня убивать mongrel сервер, я вынужден закрыть консольное окно, потому что CTRL + C не убивает его, как должно. Затем я должен открыть новое окно консоли, перейти к моему устройству rails и выпустить команду ruby script/server ', чтобы перезапустить ее.
То, что я ищу, возможно, является причиной этого, способ исправить это или другие предложения, чтобы сделать этот процесс быстрее и/или менее раздражающим. Или даже возможно пакетный файл или ярлык, чтобы открыть окно cmd прямо там, где оно мне нужно?
Используйте Ctrl + Pause/Break. Он остановит сервер.
Ctrl + Pause/Break принудительно закрывает сервер. Это не нормально. В любом случае у моего ноутбука Dell нет ключа.
Поэтому используйте это:
вместо rails s
используйте ruby script/rails s
.
Ctrl + C отлично справится с этим. Протестировано.
Это известная проблема, и вот патч: https://rails.lighthouseapp.com/projects/8994/tickets/2088-mongrel-not-being-stopped-with-ctrl-c-under-windows
Я считаю, что это может произойти, если вы ловите Exception и не поднимаете его. SIG-INT был пойман там и в конечном итоге не убьет процесс.
Если все не удается, нажмите Ctrl + Alt + Delete, откройте диспетчер задач и просто запустите рубиновый процесс;)
У меня такая же проблема и в Windows, поэтому не могу помочь вам в решении проблемы с Ctrl + C. Но, я могу указать вам на Окно командной строки Windows PowerToys здесь - добавляет "Open Command Window Here" to ваше окно Explorer, это требование для разработки (любого вида) на машинах Windows.
Если вы начинаете mongrel немного иначе:
$ cd myrailsapp
$ mongrel_rails start
то вы можете остановить его следующим образом:
$ mongrel_rails stop
Вы можете получить дополнительную информацию здесь. Это может быть интересно: Mongrel как услуга
Проверьте версию рельсов и используйте
ctrl + c + pause/break для 2.3.2
ctrl + c для 2.1.2
После того, как вы нажмете Ctrl + c, отправьте запрос на сервер, обновив страницу своего браузера, где вы ее открыли. Командная строка теперь скажет Exiting
и вернется в командную строку.