运行 来自 Rails 的 Sinatra 应用程序破坏了 CTRL-C 行为
Running a Sinatra app from within Rails breaks CTRL-C behaviour
如 here 所述,Rails 为 INT 信号创建陷阱。
我有一个 Rails 应用程序可以在单独的线程中启动 Sinatra 应用程序。
Thread.new do
begin
SinatraApp.run!
rescue => e
puts e.message
end
end
似乎 运行 Sinatra 应用程序在单独的线程中导致我的 Rails 应用程序不再响应 INT 信号,这意味着我无法通过 CTRL-C 终止它。 Sinatra 应用 "steals" 所有 INT 信号。
我该如何解决这个问题?是否可以配置我的 Rails 应用程序,以便 CTRL-C 杀死它和 Sinatra 应用程序?
如 here 所述,Rails 为 INT 信号创建陷阱。
我有一个 Rails 应用程序可以在单独的线程中启动 Sinatra 应用程序。
Thread.new do
begin
SinatraApp.run!
rescue => e
puts e.message
end
end
似乎 运行 Sinatra 应用程序在单独的线程中导致我的 Rails 应用程序不再响应 INT 信号,这意味着我无法通过 CTRL-C 终止它。 Sinatra 应用 "steals" 所有 INT 信号。
我该如何解决这个问题?是否可以配置我的 Rails 应用程序,以便 CTRL-C 杀死它和 Sinatra 应用程序?