从Rails中运行Sinatra应用程序会破坏CTRL-C行为

时间:2015-07-05 13:02:35

标签: ruby-on-rails multithreading sinatra jruby kill

正如here所解释的那样,Rails一旦启动就会为INT信号创建一个陷阱。

我有一个Rails应用程序,可以在一个单独的线程中启动Sinatra应用程序。

{{1}}

似乎在一个单独的线程中运行Sinatra应用程序会导致我的Rails应用程序不再响应INT信号,这意味着我无法通过CTRL-C杀死它。 Sinatra app" steals"所有的INT信号。

我该如何解决这个问题?是否可以配置我的Rails应用程序,以便CTRL-C杀死它和Sinatra应用程序?

1 个答案:

答案 0 :(得分:1)

我的Sinatra应用程序是通过WEBrick启动的。我发现使用另一个基于JRuby的服务器,例如PumaTrinidadtrap标志设置为false),解决了这个问题。

This answer帮助我找到解决方案。