如何在javascript中提示shell命令的执行状态?

时间:2019-06-13 19:39:12

标签: javascript node.js shell

我正在寻找一种在网页上打印shell命令执行状态的方法。 使用NodeJS和一个名为sudo-js的模块,我执行了一个在shell中打印执行状态的命令,问题是我只在网站执行结束时打印了所有进度,但是我想打印该命令像在Shell终端中一样实时地进入网页。

这是我的代码

          if (err) {
            console.log(err.stack); 
          } else {
            var command = ['ansible-playbook', '-i', 'hosts.txt', 'sample.yaml'];
            sudo.exec(command, function(err, pid, result) {
            console.log(result);
            res.render('mensajeScriptEjecutadoConResultado', {Resultado: result});
            });

          }
        })

我知道console.log()不能按缓冲区或实时显示数据,并且sudo.exe()可能也不能这样,所以该怎么做?。

谢谢!。

1 个答案:

答案 0 :(得分:0)

看看Child Process模块,其中包含一些有用的示例。您的节点程序可以对标准输出,错误和过程完成做出反应。

我用它来向Web客户报告子进程的当前状态...但是我并没有像@Barmar提到的那样使它连续。我的客户必须刷新才能获取状态。