Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js NodeJS process.spawn-退出事件未触发_Node.js - Fatal编程技术网

Node.js NodeJS process.spawn-退出事件未触发

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

我正在尝试使用nodejs进程spawn。但不知何故,我无法让它工作。我使用节点v0.12.2。 “gulpdosomething”被执行,我确实通过stdout看到了输出。。但退出事件永远不会执行

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()使用原始代码。