我使用节点child_process API节点的子进程的事件监听
https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options
var child = child_process.spawn(cmd, val, options);
从我用的是孩子以下
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);
可我里面添加这些管事件里面的一些代码像console.log?
例如像可能与原型
child.on('error', function(err) {
console.log(err);
});
更新
我需要的就是听这childProcess.stderr.pipe(process.stderr);
,并在情况下,我和错误做process.exit(1)
当我尝试像我得到错误
child.stderr.pipe(function() {
console.log("im here");
process.stderr;
process.exit(1);
}
);
UPDATE2
我尝试以下
var child = child_process.spawn(cmd, value, opt);
child.stdout.on('data', function (data) {
console.log("IM HERE");
console.log('data' + data);
});
child.stderr.on('data', function (data) {
console.log("IM HERE");
console.log('test: ' + data);
reject(data);
});
child.on('close', function (code) {
console.log("IM HERE");
console.log("close");
});
child.on('error', function (err) {
console.log("IM HERE");
console.log(err);
});
child.stderr.on('error', function (err) {
console.log("IM HERE");
console.log("my Erorr");
process.stderr.emit('error', err);
});
child.stdout.on('data', function (buf) {
console.log("IM HERE");
console.log('buf receive');
console.log(buf.toString());
});
//正当我添加下面我看到错误日志
child.stderr.pipe(process.stderr)
非控制台中.log(“im here”)打印出错
我需要以某种方式来听这个管道或可能以某种方式扩展child.stderr.pipe(process.stderr),我需要做的是process.exit(1)
万一我从上面的代码语句中得到错误...
也许与JavaScript的原型,但不知道该怎么做......
请协助林卡住,我知道这不是简单的...
Thansk,但我需要管道和process.stdout ...与它... –
谢谢,但这是行不通的... :( –
你能告诉那完全不工作?我添加了例子来回答 –