我在亞馬遜上有一個ubuntu服務器,我試圖在上運行一個node.js程序。該程序只有一行:node.js程序掛在亞馬遜linux服務器上
console.log('Here I am.');
沒有得到輸出和程序不會退出。
當我運行ps的X,我可以看到一個[節點]過程STAT d狀態:
751 ? D 0:04 [node]
的過程不能使用sudo殺-9 751
問題之前停止, node.js程序運行得很好,就像我的實際 - 更復雜的node.js程序一樣。
我甚至重新啓動了Ubuntu服務器,並嘗試在重新啓動後立即運行單線測試node.js程序。它掛起並沒有輸出任何東西。
節點--version返回
v0.7.6-pre
任何想法,爲什麼出現這種情況?這是一個與Amazon實例,node.js安裝或其他問題有關的問題嗎? nginx在同一臺服務器上運行得很好,但node.js程序如上所述掛起。
(如預期,同樣的代碼運行在我的本地Mac OS X環境就好了)
更新:我恢復到0.6.12穩定版,但同樣的問題仍然存在。
通常狀態D表示IO,它在內核中調用。這可以解釋爲什麼你不能殺死它。爲了幫助診斷問題,請嘗試將stdout重定向到文件(使用'>')。我懷疑問題可能出在輸出到控制檯/屏幕上。也請嘗試使用v0.6穩定版本。 – 2012-03-10 19:59:07
嘗試了這兩種方法(重定向輸出並首先恢復到0.7.5,然後恢復到0.6.12),但同樣的問題依然存在。當掛起的節點程序運行時,top顯示節點和rsyslogd佔用一個CPU的100%。有時候,jbd2/xvda1-8也在CPU佔用率高的頂級列表中。 – Mayoneez 2012-03-11 08:24:17
安裝0.6.12後,測試程序*確實運行了一次。在第二次運行中,它掛斷了。 – Mayoneez 2012-03-11 08:26:28