gpt4 book ai didi

node.js - 如何在 node.js 上使用子进程运行 top 命令而不从终端获取 'stdout maxBuffer exceeded'

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:06 25 4
gpt4 key购买 nike

我正在尝试创建一个从 VM 获取指标的 REST API,但我似乎无法在没有“超过 stdout maxBuffer”的情况下运行我的子进程。这是我的代码

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


exec('top', (error, stdout, stderr) => {

if (error) {

console.error(`exec error: ${error}`);
return;
}

console.log(`stdout: ${stdout}`);

console.log(`stderr: ${stderr}`);
});

最佳答案

top(带有默认参数)将继续写入 stdout - 它不只是转储一些信息并退出。

如果您想使用top,请查看手册页。特别是 -b 选项:

  -b  :Batch-mode operation
Starts top in 'Batch' mode, which could be useful for sending output from top to other programs or to a file. In this mode, top will not accept input and runs until the iterations limit you've set
with the '-n' command-line option or until killed.

因此尝试使用 top -b -n 1top 获取单个“批处理”信息,然后对其进行解析。

关于node.js - 如何在 node.js 上使用子进程运行 top 命令而不从终端获取 'stdout maxBuffer exceeded',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45067954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com