javascript - Node JS 正在进行的 Shell 输出

标签 javascript node.js linux bash

我想让 Node 解析正在进行的 bash 命令的输出,并在执行已执行命令的同时对其进行处理。

例如,

const { exec } = require('child_process');

const child = exec('bash server.sh',
  (error, stdout, stderr) => {
    console.log(`stdout: ${stdout}`);
    console.log(`stderr: ${stderr}`);
    if (error !== null) {
      console.log(`exec error: ${error}`);
    }
  });

server.sh 在哪里

yell () {
  echo "bing";
  sleep 1s;
  yell;
}

yell;

不幸的是,该进程挂起,因为执行正在等待 server.sh 完成,但它从未完成。有没有办法处理 server.sh 的输出?

最佳答案

事件监听器可以像这样绑定(bind):

child.stdout.on('data', (data) => {
  console.log(data.toString());
});

关于javascript - Node JS 正在进行的 Shell 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58592562/

相关文章:

javascript - 通过 HTTP 在 javascript 中发送二进制数据

c - 如何在不分配内存地址的情况下保留它们

regex - 递归地在 Linux 内核源代码树中查找函数定义

javascript - 如何根据 mongodb 中的值对数组中的文档进行计数?

node.js - 未触发 sailsjs beforeCreate

c++ - 段错误 Opencv linux c++

javascript - Mongoose 删除错误对象没有方法删除

javascript - 删除和编辑 knockout observableArray 中的项目

javascript - Node JS异步执行和事件发出/监听器模型

javascript - node.js 和 Tornado 的区别