前言
如题,我们如何来获取指定应用程序的进程信息呢?
内容
思路
首先我们可以通过cmd
命令查看系统上的进程信息,那么我们能不能用NodeJs
去调用cmd命令嘛?答案必然是可以的;
CMD
C:\Users\WangYang>tasklist /fi "imagename eq wxwork.exe" 映像名称 PID 会话名 会话# 内存使用 ========================= ======== ================ =========== ============ WXWork.exe 17344 Console 1 21,760 K
NodeJS
const exec = require('child_process').exec
代码
/** * 获取指定应用程序的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]) // 这一步可以做自己逻辑得判断 }) }) }
效果
学无止境,谦卑而行.