Ctrl-C не завершает работу Rails Server при использовании Jruby и Pry

Я поместил оператор binding.pry в один из моих ruby-файлов, чтобы выполнить некоторую отладку, и консоль pry отображается, как и ожидалось. Однако теперь я не могу выйти с сервера Rails, используя ctrl-c. я получаю эту ошибку

ERROR Interrupt: Interrupt
    /home/usrname/.gem/jruby/1.9/gems/pry-0.10.3-java/lib/pry/pry_class.rb:98:in `load_traps'

Использование jruby 1.7.25 и rails 4, если это имеет значение.


person Yifei W    schedule 12.09.2016    source источник
comment
попробуй ctrl+d вместо ctrl+c   -  person Chakreshwar Sharma    schedule 12.09.2016
comment
Если вы используете ubuntu, завершите процесс, используя ps -aux || grep rails и убить процесс rails, используя команду kill -9 process_id....   -  person Milind    schedule 12.09.2016
comment
Во-первых, вы должны выйти из сеанса pry перед выходом из сервера rails. иначе найдите процесс и принудительно уничтожьте его.   -  person Bijendra    schedule 12.09.2016
comment
@Yifei W был моим ответом, что вы искали?   -  person Joel    schedule 21.09.2016
comment
@ Джоэл, нет, потому что это не решает 1. Почему возникает ошибка-ловушка. 2. Как выйти без возникновения ошибки. Я прекрасно понимаю, что могу просто bg, а затем kill %1   -  person Yifei W    schedule 23.09.2016


Ответы (2)


Чтобы выйти из цикла, вы можете использовать !!!

Чтобы выйти из сеанса сервера, вы можете использовать exec('kill -9 $(lsof -i tcp:3000 -t)'), если ваш сервер rails работает на порту 3000.

person Joel    schedule 19.09.2016

Если вы находитесь в режиме отладки, введите

exit

вместо Ctrl+C

Существует одна проблема, связанная с выходом, обратитесь к этому, в котором говорится, что используйте

exit!
person Deepak Mahakale    schedule 12.09.2016
comment
Мне не нужно выходить из сеанса отладки. Мне нужно выйти из процесса сервера. - person Yifei W; 12.09.2016