当我运行一个小的 sinatra 应用程序时,我必须按 CTRL+C 两次才能让它关闭。
== Sinatra/1.0.b 已经在 4567 上登台进行开发,并从 Thin 备份 >> 瘦网络服务器(v1.2.7 代号 No Hup) >> 最大连接数设置为 1024 >> 监听 0.0.0.0:4567,CTRL+C 停止 ^C>> 正在停止... == Sinatra 结束了他的表演(全场鼓掌) == Sinatra/1.0.b 已经在 4567 上登台进行开发,并从 Thin 备份 >> 瘦网络服务器(v1.2.7 代号 No Hup) >> 最大连接数设置为 1024 >> 监听 0.0.0.0:4567,CTRL+C 停止 ^C>> 正在停止... == Sinatra 结束了他的表演(全场鼓掌)
我目前正在运行:
ubuntu 9.10(业力)
红宝石 1.3.6
ruby 1.9.1p376 (2009-12-07 修订版 26041) [i486-linux]
西纳特拉 1.0.b
薄1.2.7
例如,在 config.ru 中使用Application.run
启动类样式应用程序时会发生这种情况。
在 Cygwin 之前,这曾经发生在我身上。 绝对与您如何启动应用程序和机架文件的内容有关。 我要做的是:
你的应用程序
class App < Sinatra:Base
随便..
结尾
配置文件
需要“红宝石”
需要'yourapp.rb'
运行应用
最后,使用批处理文件或从 shell 提示启动应用程序:
rackup -s thin config.ru
我无法在 1.0 上重现。 如果这仍然是一个问题,请重新打开。 谢谢
我得到这个问题。 我的代码可以简化为这个,但仍然会产生问题:
require 'sinatra'
class MyServer < Sinatra::Base
get '/test' do
'Hello world!'
end
run! if app_file == $0
end
我在终端运行ruby my_server.rb
。 如果我删除run
行,则只需要 ctrl+c 一次即可关闭,但不会调用端点,而是显示此错误:
[28/May/2016:20:37:15 +0100] "GET /test HTTP/1.1" 404 466 0.0005
这是因为我导入了sinatra
,而不是sinatra/base
最有用的评论
这是因为我导入了
sinatra
,而不是sinatra/base