0
我正在測試node.js和作爲子進程啓動的可執行文件之間的通信。可執行文件將從node.js中通過child_process.spawn()
啓動,其輸出將由node.js監視。我正在Linux和Windows操作系統上測試這個功能。無法生成與node.js正確通信的可執行文件
我已經成功地產生了tail -f /var/log/syslog
並且偵聽了它的輸出,但是我自己的可執行文件似乎無法正確寫入標準輸出(無論以何種形式存在,都被node.js捕獲)。
測試代碼:
#include <iostream>
#include <stdio.h>
#include <unistd.h>
int main()
{
using namespace std;
long x = 1;
while (true)
{
fprintf(stdout, "xtime - %ld\n", x++);
usleep(1000000);
}
}
(注:有些include
S可以是無用的,我沒有檢查過)
你嘗試在你的'fprintf()'之後添加'fflush(stdout)'嗎? – mscdex 2014-09-10 14:00:38
@mscdex完成了!我有一種嘮叨的感覺,就是那種感覺,但是確實這是一件更復雜的事情。如果你發佈了正確的答案,我會很樂意接受它。謝謝。 – Doc 2014-09-10 15:33:05