Node.js获取所有正在运行的进程

我如何获得我的节点服务器上当前正在运行的进程? 我尝试使用ps-node( https://www.npmjs.com/package/ps-node ),但未能获取列表。

我正在寻找类似于C#中的以下命令:

// Get all processes running on the local computer. Process[] localAll = Process.GetProcesses(); 

可能吗?

下面是一个使用上面提到的永久工具gnu awk和内置的child_process节点库的例子 :

 var spawn = require('child_process').spawn, forever = spawn('forever', ['list', '--plain']), awk = spawn('awk', ['NR>2{print $4,$5,$6,$7,"\t",$9}']); forever.stdout.on('data', function (data) { awk.stdin.write(data); }); forever.stderr.on('data', function (data) { console.log('forever stderr: ' + data); }); forever.on('close', function (code) { if (code !== 0) { console.log('forever process exited with code ' + code); } awk.stdin.end(); }); awk.stdout.on('data', function (data) { // data is your result as Buffer // print data as string console.log('' + data); }); awk.stderr.on('data', function (data) { console.log('awk stderr: ' + data); }); awk.on('close', function (code) { if (code !== 0) { console.log('awk process exited with code ' + code); } }); 

这里发生的事情主要是:

 $ forever list --plain | awk '{NR>2{print $4,$5,$6,$7,"\t",$9}}' 

当然,awk打印的variables依赖于forever list输出…为了testing正确的解决scheme,我将从打印$0开始获取整个输出,然后将其修剪,使其仅报告所需的信息。