/ 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  };