2012-04-29 29 views
8

雖然試圖運行我的config.ru,但我得到一個奇怪的錯誤,我似乎無法調試稱爲'無接受者'錯誤。什麼是機架 - 「不接受」錯誤?

完整的錯誤消息:

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

有誰知道這是什麼錯誤意味着什麼?謝謝。

回答

11

由於@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)。

+0

是的,這是一個服務器,保釋,我的電腦重新啓動修復它。 – beakr 2012-04-29 17:45:36

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 
+0

我已經看到了這個確切的問題許多時候人們只是關閉的,而不是使用'CTRL-C終端窗口'殺死一臺正在運行的瘦服務器。如果你關閉窗口,這個過程似乎是殭屍。 – Telemachus 2012-04-29 13:23:38

+0

我個人在前幾天=) – Fivell 2012-04-29 13:24:34

0

雖然沒有殭屍進程並且端口未綁定,但我得到此錯誤。

這工作:

thin -p9292 start 

但這並不:

rackup