nodeJs 獲取系統所有程序
阿新 • • 發佈:2021-07-31
const childProcess = require('child_process'); // nodeJS 自帶
const exec = childProcess.exec
function viewProcessMessage (name, cb) {
// process 不用引入,nodeJS 自帶
// 帶有命令列的list程序命令是:“cmd.exe /c wmic process list full”
// tasklist 是沒有帶命令列引數的。可以把這兩個命令再cmd裡面執行一下看一下效果
// 注意:命令列獲取的都帶有換行符,獲取之後需要更換換行符。可以執行配合這個使用 str.replace(/[\r\n]/g,""); 去除回車換行符
let cmd = process.platform === 'win32' ? 'tasklist' : 'ps aux'
exec(cmd, function (err, stdout, stderr) {
if (err) {
return console.error(err)
}
stdout.split('\n').filter((line) => {
let processMessage = line.trim().split(/\s+/)
let processName = processMessage[0] //processMessage[0]程序名稱 , processMessage[1]程序id
if (processName === name) {
return cb(processMessage[1])
}
})
})
}
viewProcessMessage('name.exe',function (msg) {
//關閉匹配的程序
process.kill(msg)
})