const {exec} = require("child_process"); class Process { constructor(cmd, cb) { this.cmd = cmd this.pid = exec(cmd, {windowsHide: true, encoding: "utf8"}); this.callback = cb } static new(cmd) { return new Promise((resolve, reject) => exec(cmd, {windowsHide: true}, (err) => { if (!err) { resolve() } else reject(err) })) } ins() { return new Promise((resolve, reject) => { this.pid.on('close', (code, err) => { if (code == 0 && !err) { resolve() } else reject(err) }) this.pid.on('exit', (code, err) => { if (code == 0 && !err) { resolve() } else reject(err) }) this.pid.stdout.on('data', data => { console.log(data) this.callback?.() }) }) } } module.exports = Process