botpress / botpress-electron

This converts the Botpress binaries into a binary downloader / installer / runner
MIT License
0 stars 2 forks source link

(bug) bp Child processes don't die when bp killed #2

Closed daehli closed 2 years ago

daehli commented 2 years ago
const exec = require('child_process').exec;

const getProcess = (query,cb) => {
    let platform = process.platform;
    let cmd = '';
    let pids = '';
    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) => {
        const process = stdout.split('\n')
        pids = process.map(pid => pid.split(' ')[0]).join(' ')
        cb(pids)
    });

    return pids
}

let pids = getProcess('botpress-electron', pids => {
    console.log(pids)
    let platform = process.platform;
    let cmd = '';
    switch (platform) {
        case 'win32' : cmd = `Taskkill /PID ${pids} /F  `; break;
        case 'darwin' : cmd = `kill -9 ${pids}`; break;
        case 'linux' : cmd = `kill -9 ${pids}`; break;
        default: break;
    }

    exec(cmd, (err, stdout, stderr) => {
        console.log(stdout)
    });
})