How to wait for a child process to finish in Node.js?

后端 未结 5 1346
终归单人心
终归单人心 2021-01-01 10:15

I\'m running a Python script through a child process in Node.js, like this:

require(\'child_process\').exec(\'python celulas.py\', function (error, stdout, s         


        
5条回答
  •  旧时难觅i
    2021-01-01 10:30

    You need to remove the listeners exec installs to add to the buffered stdout and stderr, even if you pass no callback it still buffers the output. Node will still exit the child process in the buffer is exceeded in this case.

    var child = require('child_process').exec('python celulas.py');
    child.stdout.removeAllListeners("data");
    child.stderr.removeAllListeners("data");
    child.stdout.pipe(process.stdout);
    child.stderr.pipe(process.stderr);
    

提交回复
热议问题