如何以编程方式从linux中的status命令获取特定值

我正尝试以编程方式使用以下命令'/proc/' + process.pid + '/status' 。 所以我写了以下内容

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

但是我得到的是如下所示的值列表。

如何以编程方式从下面的发布列表中访问特定的值? 例如, VmSize:813500 kB

我写了下面的代码,但它不起作用

 const { spawn } = require('child_process'); var process = require('process'); const ls2 = spawn('cat', ['/proc/' + process.pid + '/status']); ls2.stdout.on('data', (data) => { console.log('ls2:stdout: ' + 'processId: ' + process.pid + '-->' + data.toString().split(' ')); }); 

请让我知道如何修改我提供的代码,以便我可以访问发布列表中的特定值

结果

 ls2:stdout: processId: 11723-->Name: node Umask: 0002 State: R (running) Tgid: 11723 Ngid: 0 Pid: 11723 PPid: 2263 TracerPid: 0 Uid: 1000 1000 1000 1000 Gid: 1000 1000 1000 1000 FDSize: 512 Groups: 4 24 27 30 46 113 128 1000 NStgid: 11723 NSpid: 11723 NSpgid: 1885 NSsid: 1885 VmPeak: 814012 kB VmSize: 813500 kB VmLck: 0 kB VmPin: 0 kB VmHWM: 29504 kB VmRSS: 29504 kB RssAnon: 7804 kB RssFile: 21700 kB RssShmem: 0 kB VmData: 41524 kB 

您可以运行此命令来执行文本处理,并从bash /terminal中的文件中读取值。 这个命令使用这些程序catgrepcut

 cat /proc/[process id]/status | grep [field_nanme] | cut -f2- 

例:

 cat /proc/[process id]/status | grep Uid | cut -f2- 

你可以在Node.js中运行这个命令:

 var process = require('process'); if (process.pid) { var output = system('cat /proc/' + process.pid + '/status | grep Uid | cut -f2-'); }