2015-07-05 2 views
1

Как объяснено here, Rails создает ловушку для сигналов INT сразу после ее запуска.Запуск приложения Sinatra из Rails breaks Поведение CTRL-C

У меня есть приложение Rails, которое запускает приложение Sinatra в отдельном потоке.

Thread.new do 
    begin 
    SinatraApp.run! 
    rescue => e 
    puts e.message 
    end 
end 

Кажется, что работает приложение Синатры в отдельном потоке вызывает мое Rails приложение больше не реагировать на INT сигналы, то есть я не могу убить его с помощью CTRL-C. Приложение Sinatra «крадет» все сигналы INT.

Как исправить это? Можно ли настроить мое приложение Rails, чтобы CTRL-C убил его и приложение Sinatra?

ответ

1

Приложение My Sinatra загружалось через WEBrick. Я обнаружил, что вместо этого используется другой сервер на основе JRuby, например Puma или Trinidad (с флагом trap, установленным на false), решила проблему.

This answer помог мне найти решение.

 Смежные вопросы

  • Нет связанных вопросов^_^