如何实时捕获输出后台进程

时间:2018-06-29 12:24:34

标签: meteor

我使用Fiber派生一个外部程序,该程序在stdout上打印其执行结果。 仅在过程结束时,才可以在{{result}}字段中使用标准输出。 TaskEnv是前端使用的集合

我希望通过流输出stdout来查看该过程的过程可能会很长

该怎么办?

    exec(realCommand,{ maxBuffer: 4024 * 1024 },
         function (error, stdout, stderr) {
         if(error) {
             console.log('error is : ' + error);
             console.log('stderr is : ' + stderr);
             Fiber(function() {
             TaskEnv.update({'name':envname},
                    {$set:
                     {"command":realCommand,
                      "result" : 'error: ' + error + "\n" + stderr,
                      "status":""}});
             }).run();
         } else {
             Fiber(function() {
             TaskEnv.update({'name':envname},
                    {$set:
                     {"command":realCommand,
                      "result" : stdout,
                      "status":""}});
             }).run();
         }
         }
    );

0 个答案:

没有答案