前言
如題,我們如何來獲取指定應用程序的進程信息呢?
內容
思路
首先我們可以通過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]) // 這一步可以做自己邏輯得判斷
})
})
}