无法从subprocess获取输出

所以,我有一个简单的应用程序(我写了)写入stdout

当我自己运行它,输出正在打印罚款。

现在,当我用节点产生进程时…没有任何事情发生(除了一个消息说过程已经完成)

这是我的代码:

 var spawn = require('child_process').spawn; helper = spawn("myApp", []); helper.stdout.on('data', function(data) { console.log("GOT: " + data); }); helper.stdout.on('end', function(data) { console.log("FINISHED: " + data); }); helper.on('exit', function(code) { console.log("CLOSED!"); }); 

这里是输出:

 FINISHED: undefined CLOSED! 

是的,就是这样。

这是怎么回事? 我错过了什么吗?

确保您的stdio输出缓冲区在您的应用程序中被刷新:

  fflush(stdout); // or something like that 

直接输出到tty的输出比输出到pipe道的缓冲less。