首页 > 解决方案 > 如何使用 node js 查找正在运行的应用程序/系统软件的列表?

问题描述

我想在 node js 中登记正在运行的系统或应用程序软件。我用过child_process。它提供了所有当前正在运行的进程。但我想区分进程的类型。

在这段代码中

function isRunning(win, mac, linux) {
    return new Promise(function (resolve, reject) {
      const plat = process.platform
      const cmd = plat == 'win32' ? 'tasklist' : (plat == 'darwin' ? 'ps -ax | grep ' + mac : (plat == 'linux' ? 'ps -A' : ''))
      const proc = plat == 'win32' ? win : (plat == 'darwin' ? mac : (plat == 'linux' ? linux : ''))
      if (cmd === '' || proc === '') {
        resolve(false)
      }
      
      exec.exec(cmd, function (err, stdout, stderr) {

        console.log(stdout);
        resolve(stdout.toLowerCase().indexOf(proc.toLowerCase()) > -1)
      })
    })
  }

  isRunning('myprocess.exe', 'code', 'myprocess')
  .then((v) => console.log(v))
  .catch(error => {
    console.log(error);
  });

isRunning我使用名为 的 VS Code签入了 Linux OS code,然后它返回 true。

给出所有正在运行的stdout进程。在进程中,我想知道哪些是应用程序或系统进程正在运行。

标签: node.jsprocesschild-process

解决方案


推荐阅读