无法从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。