jas*_*ogd 3 ruby multithreading mongrel ruby-on-rails http
我正在尝试Mongrel并使用以下代码:
require 'rubygems'
require 'mongrel'
class SimpleHandler < Mongrel::HttpHandler
def process(request, response)
response.start(200) do |head, out|
head["Content-Type"] = "text/plain"
out.write("Hello World!\n")
end
end
end
h = Mongrel::HttpServer.new("0.0.0.0", "3000")
h.register("/test", SimpleHandler.new)
puts "Press Control-C to exit"
h.run.join
trap("INT") do
puts "Exiting..."
end
Run Code Online (Sandbox Code Playgroud)
基本上,这只是打印出"Hello World!" 当我去localhost:3000 /测试.它工作正常,我可以用Control-C关闭程序.但是当我按下Control-C时,会输出:
my_web_server.rb:17:in `join': Interrupt
from my_web_server.rb:17
Run Code Online (Sandbox Code Playgroud)
所以我尝试将该trap("INT")语句放在最后,但它没有被调用.解?
谢谢.
如果您想要做的就是在没有堆栈跟踪的情况下退出,则无需捕获INT.control-c导致"中断"异常.因此,要让程序在没有丑陋堆栈跟踪的情况下退出control-C,请捕获该异常:
begin
... # do stuff
rescue Interrupt
puts "Exiting..."
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |