UNPKG

wsemi

Version:

A support package for web developer.

44 lines (37 loc) 1.39 kB
import cstr from './cstr.mjs' import execProcess from './execProcess.mjs' /** * Windows下強制關閉指定PID程序 * * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/execProcessKillPid.test.mjs Github} * @memberOf wsemi * @param {String} pid 輸入程序pid字串 * @returns {Promise} 回傳Promise,resolve回傳成功訊息,reject回傳錯誤訊息 * @example * //need test in nodejs * * if (true) { * let pid = 123456 * execProcessKillPid(pid) * .then(function(data) { * console.log('then', data) * }) * .catch(function(data) { * console.log('catch', data) * }) * } * */ async function execProcessKillPid(pid) { //execProcess, 執行windows指令taskkill去中止pid, 不論是哪種mode都有機率觸發「ERROR: The process "{pid}" not found.」 let cmd = 'taskkill' let args = ['/pid', cstr(pid), '/T', '/F'] let r = await execProcess(cmd, args) //預設spawn // let r = await execProcess(cmd, args, { mode: 'spawn' }) // let r = await execProcess(cmd, args, { mode: 'exec' }) // let r = await execProcess(cmd, args, { mode: 'exec', useChcp:true }) // let r = await execProcess(cmd, args, { mode: 'execFile' }) // console.log('r', r) return r } export default execProcessKillPid