Node.js NodeJS process.spawn-退出事件未触发
我正在尝试使用nodejs进程spawn。但不知何故,我无法让它工作。我使用节点v0.12.2。 “gulpdosomething”被执行,我确实通过stdout看到了输出。。但退出事件永远不会执行Node.js NodeJS process.spawn-退出事件未触发,node.js,Node.js,我正在尝试使用nodejs进程spawn。但不知何故,我无法让它工作。我使用节点v0.12.2。 “gulpdosomething”被执行,我确实通过stdout看到了输出。。但退出事件永远不会执行 var task = spawn('gulp', [ 'do-something' ], { cwd: configs.workingDirectory }); task.stdout.on('data', function(data){ console.l
var task = spawn('gulp', [
'do-something'
], {
cwd: configs.workingDirectory
});
task.stdout.on('data', function(data){
console.log(data.toString());
});
task.stderr.on('data', function (data) {
console.log(data.toString());
});
task.on('exit', function (exitCode) {
console.log("process.exitCode", exitCode)
});
当我尝试将spawn与stdio一起使用时:['ipc']
var task = spawn('gulp', [
'do-something'
], {
cwd: configs.workingDirectory,
stdio: ['ipc']
});
退出事件被激发,但在发生错误后:
gulp: ../deps/uv/src/unix/core.c:833: uv__io_stop: Assertion `loop->watchers[w->fd] == w' failed.
我试过其他的组合。它会导致task.stdout和task.sterr为null或不触发退出事件。设置
stdio:[0,'pipe','pipe']
解决了此问题 close
是否发出?@mscdex否否。正常。我通过使用:stdio:[0,‘pipe’,‘pipe’]使其正常工作,您也可以尝试task.stdin.end()代码>使用原始代码。