/ index.js
index.js
1 'use strict'; 2 const fkill = require('fkill'); 3 let psList = require('ps-list'); 4 5 if (process.platform === 'win32') { 6 psList = require('./win'); 7 } 8 9 module.exports = async (options = {}) => { 10 const list = await psList(); 11 12 const processes = { 13 chrome: process.platform === 'darwin' ? 'Chrome Helper' : 'chrome', 14 chromium: process.platform === 'darwin' ? 'Chromium Helper' : 'chromium' 15 }; 16 17 if (options.chromium === false) { 18 delete processes.chromium; 19 } 20 21 if (options.chrome === false) { 22 delete processes.chrome; 23 } 24 25 const pids = list 26 .filter(x => 27 Object.keys(processes).some(name => x.cmd.includes(processes[name])) && 28 x.cmd.includes('--type=renderer') && 29 !x.cmd.includes('--extension-process') 30 ) 31 .map(x => x.pid); 32 33 return fkill(pids, {force: true}); 34 };