我想知道如何以編程方式從退出Sinatra應用程序的應用程序本身。 (還有另一個關於從應用程序外部阻止它的SO線程。)我可以在Sinatra應用程序中停止Sinatra嗎?
我想使用Sinatra作爲接收控制和配置命令的手段,而我的應用程序執行與Sinatra無關的操作。我希望其中一個控制命令是「退出」。 Ruby的'退出'方法似乎導致Sinatra恢復和恢復。我發現這個在base.rb,我認爲證實了這一點:
at_exit { Application.run! if $!.nil? && Application.run? }
到目前爲止,我發現的唯一方法是調用Ruby的exit!
方法,但繞過exit
掛鉤,而不是一個非常乾淨的解決方案。
難道沒有辦法以編程方式告訴Sinatra停止嗎?