我编译了一段C++的代码生成了一个文件(getpsdata),单独运行这个文件(./getpsdata)是可以的,我现在想在node 里运行这个文件,以获得代码中相关的输出数据和结果,我用了如下的代码:
var spawn = require('child_process').spawn;
var ps = spawn('./getpsdata', {stdio: ['pipe', 'pipe', 'pipe']});
if(ps.stdout !== null) {
ps.stdout.on('data', function(data) {
console.log('data', data.toString());
});
}else{
console.log(ps.stdout);
}
// ps.stdout.on('data', function(data) {
// console.log('data', data.toString());
// });
if(ps.stderr !== null) {
ps.stderr.on('data', function(data) {
console.log('data', data.toString());
});
}else{
console.log(ps.stderr);
}
// ps.stderr.on('data', function(data) {
// console.log('error', data.toString());
// });
ps.on('close', function(code) {
console.log('close', code);
});
ps.on('exit',function(code) {
console.log('exit', code);
});
ps.on('error', function(code) {
console.log('error', code);
});
我执行后,控制台没有任何的输出结果,我现在现在node 的程序里获得getpsdata执行中打印或者输出的数据,应该怎么来处理呢???