Sinatra: Sinatra 需要 CTRL+C 两次才能关闭

创建于 2010-03-16  ·  5评论  ·  资料来源: sinatra/sinatra

当我运行一个小的 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

最有用的评论

这是因为我导入了sinatra ,而不是sinatra/base

所有5条评论

例如,在 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

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

nickpelone picture nickpelone  ·  5评论

namusyaka picture namusyaka  ·  3评论

GCorbel picture GCorbel  ·  7评论

mediafinger picture mediafinger  ·  7评论

singram picture singram  ·  4评论