NodeJs——如何获取Windows电脑指定应用进程信息

2024-08-16 14:49:30 浏览数 (3)

前言

如题,我们如何来获取指定应用程序的进程信息呢?

内容

思路

首先我们可以通过cmd命令查看系统上的进程信息,那么我们能不能用NodeJs去调用cmd命令嘛?答案必然是可以的;

CMD

代码语言:javascript复制
C:UsersWangYang>tasklist /fi "imagename eq wxwork.exe"

映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
WXWork.exe                   17344 Console                    1     21,760 K

NodeJS

代码语言:javascript复制
const exec = require('child_process').exec

文档 | child_process_exec

代码

代码语言:javascript复制
/**
 * 获取指定应用程序的PID | 只考虑win和linux
 * @param exeName
 */
export function cmdFindPidList (exeName) {
  const cmd = process.platform === 'win32' ? `tasklist -V|findstr "${exeName}" ` : `ps aux | grep ${exeName}`
  exec(cmd, function (err, stdout, stderr) {
    if (err) { return }
    stdout.split('n').filter(function (line) {
      const p = line.trim().split(/s /)
      // p[0] 应用程序名称  p[1] 应用程序PID
      if (p[0] && p[1]) console.log('pname: '   p[0]   'pid: '   p[1]) // 这一步可以做自己逻辑得判断
    })
  })
}

效果

0 人点赞