Sinatra: Sinatra membutuhkan CTRL+C dua kali untuk mematikan

Dibuat pada 16 Mar 2010  ·  5Komentar  ·  Sumber: sinatra/sinatra

Ketika saya menjalankan aplikasi sinatra kecil, saya harus menekan CTRL+C dua kali untuk mematikannya.

 == Sinatra/1.0.b telah naik panggung pada 4567 untuk pengembangan dengan cadangan dari Thin
 >> Server web tipis (v1.2.7 codename No Hup)
 >> Koneksi maksimum diatur ke 1024
 >> Mendengarkan di 0.0.0.0:4567, CTRL+C untuk berhenti
 ^C>> Berhenti ...

 == Sinatra telah mengakhiri setnya (penonton bertepuk tangan)
 == Sinatra/1.0.b telah naik panggung pada 4567 untuk pengembangan dengan cadangan dari Thin
 >> Server web tipis (v1.2.7 codename No Hup)
 >> Koneksi maksimum diatur ke 1024
 >> Mendengarkan di 0.0.0.0:4567, CTRL+C untuk berhenti
 ^C>> Berhenti ...

 == Sinatra telah mengakhiri setnya (penonton bertepuk tangan)

Saya sedang menjalankan:

ubuntu 9.10 (karma)
permata rubi 1.3.6
ruby 1.9.1p376 (revisi 2009-12-07 26041) [i486-linux]
sinatra 1.0.b
tipis 1.2.7

Komentar yang paling membantu

Itu karena saya mengimpor sinatra , bukannya sinatra/base

Semua 5 komentar

Terjadi pada saya ketika memulai aplikasi gaya kelas dengan Application.run di config.ru, misalnya.

Ini dulu terjadi pada saya sebelumnya di bawah Cygwin. Pasti ada hubungannya dengan bagaimana Anda memulai aplikasi dan konten file rak Anda. Apa yang saya lakukan adalah:

aplikasimu.rb
Aplikasi kelas < Sinatra:Base
apapun..
akhir

config.ru
membutuhkan 'rubygem'
membutuhkan 'yourapp.rb'
jalankan Aplikasi

dan akhirnya, mulai aplikasi menggunakan file batch atau dari prompt shell Anda:

rackup -s thin config.ru

Saya tidak dapat mereproduksi pada 1.0. Silakan buka kembali jika ini masih menjadi masalah. Terima kasih

Saya mendapatkan masalah ini. Kode saya dapat disederhanakan menjadi ini, dan masih menghasilkan masalah:

require 'sinatra'

class MyServer < Sinatra::Base
  get '/test' do
    'Hello world!'
  end

  run! if app_file == $0
end

Saya menjalankan di terminal dengan ruby my_server.rb . Jika saya menghapus baris run , maka itu hanya membutuhkan ctrl+c sekali untuk mematikan, tetapi titik akhir tidak dipanggil, alih-alih menampilkan kesalahan ini:

[28/Mei/2016:20:37:15 +0100] "GET /test HTTP/1.1" 404466 0,0005

Itu karena saya mengimpor sinatra , bukannya sinatra/base

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

lvonk picture lvonk  ·  5Komentar

matsbror picture matsbror  ·  4Komentar

nickpelone picture nickpelone  ·  5Komentar

GCorbel picture GCorbel  ·  7Komentar

fullofcaffeine picture fullofcaffeine  ·  7Komentar