Как завершить процесс по имени процесса в Windows, Darwin и Linux? Например, предположим, что процесс, который мне нужно убить, это «vlc.exe» (в основном закройте приложение).
Вот функция, которую я написал, чтобы проверить, запущен ли этот процесс.
const isRunning = (query, cb) => {
let platform = process.platform;
let cmd = '';
switch (platform) {
case 'win32': cmd = `tasklist`; break;
case 'darwin': cmd = `ps -ax | grep ${query}`; break;
case 'linux': cmd = `ps -A`; break;
default: break;
}
exec(cmd, (err, stdout, stderr) => {
stdout = stdout.toLowerCase().replace(/\s/g, '');
cb({status: stdout.indexOf(query.toLowerCase()) > -1});
});
}
Я называю эту функцию как
isRunning('vlc.exe', (vlc) => {
console.log({ vlc }); // true|false
});
Итак, я знаю, работает VLC или нет. Теперь я хочу закрыть его, если он работает. Для Windows это taskkill, но для darwin и Linux? Или есть другой способ убить процессы?
kill
после pid для обеих платформ должно выполнять эту работу - person Yanis-git   schedule 12.01.2021