【问题标题】:How to shutdown a Rack app?如何关闭 Rack 应用程序?
【发布时间】:2012-09-26 03:19:49
【问题描述】:

我想通过发送如下 HTTP 请求来关闭 Sinatra 应用:

get '/shutdown'
   # need some code here to stop the app
end

怎么会这样呢?

【问题讨论】:

  • 小心这个。如果您的系统可以从 Internet 访问,那么找到您的命令将是微不足道的。添加一些身份验证以仅允许授权关闭。

标签: ruby-on-rails ruby linux sinatra rack


【解决方案1】:

假设这仅在一个进程中运行,您可以简单地使用Kernel.exit 终止该进程。如果您想调用 Sinatra 关闭处理程序,您可以尝试类似 Process.kill("TERM", Process.pid) 的方法将 SIGTERM 发送到当前进程。

【讨论】:

    【解决方案2】:

    Kernel::exit!:

    get '/shutdown' do
      exit!
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-13
      • 2014-11-06
      • 1970-01-01
      相关资源
      最近更新 更多