前言
如题,我们如何来获取指定应用程序的进程信息呢?
内容
思路
首先我们可以通过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]) // 这一步可以做自己逻辑得判断
})
})
}