8

config.ruを実行しようとすると、「アクセプターなし」エラーと呼ばれる、デバッグできないように見える奇妙なエラーが発生します。

完全なエラーメッセージ:

eventmachine.rb:572:in `start_tcp_server': no acceptor (RuntimeError)

このエラーの意味を誰かが知っていますか?ありがとう。

4

3 に答える 3

12

@ Fivellが言うように、問題は以前のインスタンスがthinまだ実行されていることだと思います。ただし、別のポートで開始するのではなく、前のインスタンスを強制終了することをお勧めします。このようなものでうまくいくはずです(ここで問題を再現したので、これは私の側の実際の出力です):

telemachus caps $ ps ax | grep ruby
  153   ??  S      7:52.18 ruby /usr/local/bin/djsd
15801   ??  S      0:00.40 ruby caps.rb  # this is our problem, get it's PID
15973 s000  S+     0:00.00 grep ruby

telemachus caps $ kill -9 15801 # thin needs -9 - hard to kill
telemachus caps $ ps ax | grep ruby
  153   ??  R      7:52.86 ruby /usr/local/bin/djsd
16057 s000  S+     0:00.00 grep ruby

アプリをどのように起動したかによって、別のことが必要になる場合があります(またはgrepを使用した場合など)。shotgunrackup

于 2012-04-29T13:37:15.560 に答える
1

問題は、ポートの使用が既にバインドされていることだと思います (アプリケーションを以前に起動した可能性があります) ポートを変更してみてください

rackup config.ru -p port    #default port is 9292 change to something else

または薄い使用する場合

thin start  -p port -a 0.0.0.0  -R config.ru #default port is 8080 change to something else
于 2012-04-29T13:16:47.177 に答える
0

ゾンビ プロセスがなく、ポートがバインドされていないにもかかわらず、このエラーが発生します。

これは機能します:

thin -p9292 start

しかし、これはしません:

rackup
于 2015-04-08T00:14:54.483 に答える