gpt4 book ai didi

Node.js/Electron : How to Identify the process is windows process or other application process

转载 作者:太空宇宙 更新时间:2023-11-04 00:09:31 31 4
gpt4 key购买 nike

我正在开发一个应用程序,该应用程序提供 CPU 使用率最高的 5 个应用程序名称。目前,我通过以下代码获得了排名前 5 的应用程序:

    var _ = require('lodash');
var ps = require('current-processes');

ps.get(function(err, processes) {

var sorted = _.sortBy(processes, 'cpu');
var top5 = sorted.reverse().splice(0, 5); // Top 5 results

console.log(top5);

});

输出:在图像中附加o/p: enter image description here

我也研究过其他方法:

var exec = require('child_process').exec;
exec('tasklist', function(err, stdout, stderr) {
var lines = stdout.toString().split('\n');
console.log(lines);
});

输出图像

enter image description here

但是我无法识别进程(pid)是Windows服务还是其他应用程序。简而言之,我不想显示任何系统服务。还有其他方法可以识别吗?

最佳答案

tasklist 是一种可接受的方法。

可以通过 session 名称用户名列过滤掉系统应用程序和服务。

tasklist可以使用帮助程序包来代替手动解析命令输出。

基本上N/A(可以本地化)和NT AUTHORITY\*(可以有本地名称,因此NT AUTHORITY\SYSTEM不是'应过滤掉不可靠的)用户和服务(可能属于之前的类别):

tasklist({ verbose: true })
.then(apps => {
apps = apps
.filter(app => app.sessionName !== 'Services')
.filter(app => /^(?!NT AUTHORITY).+\\/.test(app.username));

console.log(apps)
})
.catch(console.error);

关于Node.js/Electron : How to Identify the process is windows process or other application process,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50564760/

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