在Node.js中,我使用child_process模塊的exec命令來調用Java中的一個算法,該算法返回大量文本以標準輸出,然後我解析並使用它。我能夠主要捕獲它,但是當它超過一定數量的行時,內容被截斷。Node.js child_process exec的標準輸出被截短
exec("sh target/bin/solver "+fields.dimx+" "+fields.dimy, function(error, stdout, stderr){
//do stuff with stdout
}
我用一個定時器和回調試過,但都沒有成功,但我不覺得這是發生,因爲我在我的代碼引用標準輸出,才能完全恢復。我已經測試過,stdout實際上是數據丟失首先發生的地方。這不是一個異步的問題。我也在我的本地機器和Heroku上測試過,並且發生完全相同的問題,每次都在同一行號碼處截斷。
任何想法或建議可能有助於此?
爲什麼你認爲它看起來像一個錯誤?請看看我的回答 – olamotte
@olamotte你可以看到這個答案的歷史,我增加了緩衝區大小,但它不適合我。 – damphat
我也在窗戶上,它工作正常:/ – olamotte