我正在尋找一種獲取任何進程運行的進程內存的方式。Nodejs/Javascript獲取進程內存的任何進程
我在做一個web應用程序。我有一個服務器(通過Nodejs),我的文件app.js和一個代理通過服務器向app.js發送信息。
我想找到一種方法來獲取任何進程的進程內存(以便將此信息發送給代理)? 你有什麼想法我可以做到這一點?我已搜查谷歌,但我還沒有找到我的答案:/
謝謝
PS:我需要一個Windows兼容的解決方案:)
我正在尋找一種獲取任何進程運行的進程內存的方式。Nodejs/Javascript獲取進程內存的任何進程
我在做一個web應用程序。我有一個服務器(通過Nodejs),我的文件app.js和一個代理通過服務器向app.js發送信息。
我想找到一種方法來獲取任何進程的進程內存(以便將此信息發送給代理)? 你有什麼想法我可以做到這一點?我已搜查谷歌,但我還沒有找到我的答案:/
謝謝
PS:我需要一個Windows兼容的解決方案:)
的Windows
對於windows ,使用
tasklist
代替ps
在這個例子中在下面,我使用了ps
unix程序,所以它不是Windows兼容的。
這裏,%MEM是每個finalProcess
迭代的第4個元素。
在Windows
%MEM是第5個元素。
var myFunction = function(processList) {
// here, your code
};
var parseProcess = function(err, process, stderr) {
var process = (process.split("\n")),
finalProcess = [];
// 1st line is a tab descriptor
// if Windows, i should start to 2
for (var i = 1; i < process.length; i++) {
finalProcess.push(cleanArray(process[i].split(" ")));
}
console.log(finalProcess);
// callback to another function
myFunction(finalProcess);
};
var getProcessList = function() {
var exec = require('child_process').exec;
exec('ps aux', parseProcess.bind(this));
}
// thx http://stackoverflow.com/questions/281264/remove-empty-elements-from-an-array-in-javascript
function cleanArray(actual){
var newArray = new Array();
for(var i = 0; i<actual.length; i++){
if (actual[i]){
newArray.push(actual[i]);
}
}
return newArray;
}
getProcessList();
ARF,我應該有指定我正在與Windows 但謝謝你的回答,我希望它會幫助其他人:) – WellWellWell
更新的答案,它應該在Windows上使用這個小修復使用'tasklist'而不是'ps')。 –
它實際上工作(我做了一些愚蠢的嗡嗡聲......):D非常感謝! – WellWellWell
是否需要任何進程或任何* node *進程的內存使用情況? – loganfsmyth
我想要任何進程的內存使用情況 – WellWellWell
您想要進程內存*大小*還是實際數據? – Bergi