我在Windows下用Ruby編寫Slack殭屍工具,一切正常,直到我決定在Linux服務器上運行它。當我訪問我的shell並運行腳本時,它在前臺運行正常,但是一旦我將它移動到後臺,它就會停止工作。我在使用Net :: HTTP的HTTP請求或套接字讀取的EOFError上收到了超時錯誤。Ruby在後臺運行時無法讀取TCP套接字
我使用Ruby 2.3 Debian的7
我認爲Ruby進程自行停止,因爲我只有一次我進程返回前臺得到錯誤,如果我跑ps aux
當進程處於後臺時,它將列出「T」(停止)標誌。
由於我想更熟悉Linux,我想知道是什麼導致了這個問題,而不是如何解決它。
編輯:我發現我的用戶輸入處理程序導致該問題。這裏是有問題的位:
def input_handler
return Thread.new {
loop do
user_input = gets.chomp
end
}
end
你能發表一些代碼嗎? – leobelizquierdo
這不是Ruby問題,因爲有許多基於Ruby的HTTP客戶端和HTTPd在後臺運行良好。問題在於你的腳本或你的配置。但是,除非你告訴我們更多,否則我們無法幫助你。 –
歡迎使用堆棧溢出。 「尋求調試幫助的問題(」爲什麼這個代碼不工作?「)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。給其他讀者。請參閱:[如何創建一個最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve)。「 –