在我的Node应用程序中,我使用exec()执行子应用程序。应用程序将一些调试信息打印到shell中。
问题是stdout只在子应用程序退出后发送文本。
是否有方法在子应用程序运行时使用stdout信息更新div元素?
var exec = require('child_process').exec;
exec(executableFile, function (error, stdout, stderr) {
if (stdout) {
// this only updates after the app exits
console.log('stdout: ' + stdout);
$('#console-output').append('stdout: ' + stdout +'<br/>');
}
if (error !== null) {
console.log('exec error: ' + error);
}
});发布于 2015-02-18 13:25:19
您需要使用产卵而不是exec。
Spawn将数据作为流发送回来,因此您可以使用stdout.on(fn)来访问它。
var spawn = require('child_process').spawn;
var proc = spawn(executableFile);
proc.stderr.on('data', function(stderr) {
console.log('exec error: ' + stderr);
});
proc.stdout.on('data', function(stdout) {
$('#console-output').append('stdout: ' + stdout.toString() + '<br/>');
});https://stackoverflow.com/questions/28583620
复制相似问题