kihlh / hmc-win32

HMC Easier Access to System APIs 简化连接winapi的过程的node c++模块

Home Page:https://kihlh.gitbook.io/hmc/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

function 支持 async

xianyunleo opened this issue · comments

比如这种 getDetailsProcessList 获取列表的方法,同步的话好像会卡死主进程

commented

大概率是系统里面有杀毒软件 或者相关hook了GetModuleBaseName和GetModuleFileName,
我这边测试的时间一般是 30ms左右

,我加个异步吧

getProcessParentProcessID 耗时也在10-30ms,请支持async @kihlh

commented

此需求被合并到 #30

commented

getProcessParentProcessID 耗时也在10-30ms,请支持async @kihlh

获取主进程的本质还是枚举进程快照,所以会很慢,在1.4.0已经添加了一个选项 可以在第一次调用时候生成缓冲,在第二次调用时候直接从缓冲获取
本来预计10-45ms 会变成0.05ms左右

函数名称为 getProcessParentProcessMatch2 默认是启用缓冲区的同时也支持名称匹配正则匹配
image

commented

比如这种 getDetailsProcessList 获取列表的方法,同步的话好像会卡死主进程

此获取进程列表已经细分为四种方式

  • 只获取pid
  • 获取pid+path+name
  • 枚举内核
  • 枚举镜像
    均支持异步和同步 获取到的信息也更精细,速度也不一样
commented
  • 尾部带有2的为2.0版 api 支持了新功能

    • 异步 Promise
    • 异步 callback
    • 同步 Promise/
    • 均支持并发
  • findProcess2 搜索进程 异步

  • findProcess2Sync 搜索进程 同步

  • getAllProcessList2 异步 获取进程列表(枚举) 枚举是最快的也不受应用是32位系统64位导致无法枚举到 但是信息不够细

    • pid 进程id
    • name 由镜像路径解析
    • path 镜像路径
  • getAllProcessList2Sync 同步 获取进程列表(枚举)

  • getAllProcessList2Snp 异步 获取进程列表 (快照) 请注意 如果可执行文件是32位而系统是64位将获取不到64位进程的信息

    • pid 进程id
    • name 由镜像路径解析
    • ppid 父进程id
    • ... : cntThreads cntUsage dwFlags dwSize pcPriClassBase th32DefaultHeapID th32ModuleID

    getAllProcessListSnp2Sync 同步 获取进程列表 (快照)

  • getAllProcessListNt2 异步 获取进程列表 (内核)

    • pid 进程id
    • name 软件名称
    • BasePriority NextEntryOffset NumberOfThreads PagefileUsage pcPriClassBase PeakPagefileUsage PeakWorkingSetSize QuotaNonPagedPoolUsage Reserved [1-6]
  • getAllProcessListNt2Sync 同步 获取进程列表 (内核)

  • getProcessCpuUsage2 异步 获取进程占用的cpu

  • getProcessCpuUsage2Sync 同步 获取进程占用的cpu

  • getProcessParentProcessMatch2 异步 匹配父进程信息

  • getProcessParentProcessMatch2Sync 同步 匹配父进程信息

  • getProcessFilePath2 异步 获取进程可执行文件路径

  • getProcessFilePath2Sync 异步 获取进程可执行文件路径

  • existProcess2 异步 判断进程是否存在

  • existProcess2Sync 异步 判断进程是否存在

  • getDetailsProcessList2 异步 久版api兼容api 指的导出带有可执行文件路径的进程列表

  • getDetailsProcessList2Sync 异步 久版api兼容api 指的导出带有可执行文件路径的进程列表

  • getProcessName2 异步 获取进程可执行文件名称

  • getProcessName2Sync 异步 获取进程可执行文件名称