我正在編寫一個node.js應用程序,它將stdout傳送到一個文件。我正在用console.log寫所有東西。一段時間後,我的應用程序達到1GB限制並停止。有趣的是,如果我使用console.error而不是console.log,則內存使用率保持較低,程序運行良好。所以它看起來像node.js不能刷新標準輸出流,一切都保存在內存中。我想保持stderr免費的錯誤。如何使用node.js在stdout中編寫阻塞?
我的問題是:
有沒有辦法將阻塞寫入標準輸出?或者至少,我可以寫一個回調到標準輸出,所以我可以確保我寫的不是太多?
thx!
那是一個很好的解決方案!但是什麼是fs.fsyncSync(1)? – user698601
user698601:確保所有內容都寫在文件描述符之一上。一個是stdout,兩個是stderr,三個是stdin。 – thejh