gpt4 book ai didi

javascript - 如何在 node.js 中以编程方式使用 grep 命令

转载 作者:太空宇宙 更新时间:2023-11-04 12:14:54 32 4
gpt4 key购买 nike

我试图只显示 vmRSS 属性。当我运行命令命令时

cat ./Status

我得到了很多属性和它们对应的值。我想做的是以编程方式仅显示 vmRSS。我可以在控制台中按如下方式执行此操作:

cat ./status | grep VmR

但是我怎样才能以编程方式做到这一点。

我的尝试

const ls2 = spawn('cat', ['/proc/' + process.pid + '/status']);

最佳答案

由于 child_process spawn 在子进程中启动一个 shell,我认为你最好在当前 shell 中执行此操作,使用 child_process exec() 命令。

这是一个例子(感谢@Inian):

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

exec('grep VmR /proc/' + process.pid + '/status', (err, stdout) => {
if (err) return console.log(err)
console.log(stdout) // VmRSS: 13408 kB
})

否则,如果您不想生成一个 shell 来获取该信息,您可以使用 fs 来读取文件,类似这样:

const fs = require('fs');

let process_status = '/proc/' + process.pid + '/status';

fs.readFile(process_status, { encoding: 'utf8' }, (err, buf) => {
if (err) return console.log(err)

let lines = buf.split('\n') // each line in an array
let line = lines.filter(line => /VmRSS/.test(line)) // find interesting line
let VmR = line[0].replace(/\t/g, '') // clean output removing tabulation

console.log(VmR) // VmRSS: 13208 kB

})

关于javascript - 如何在 node.js 中以编程方式使用 grep 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47748956/

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