Files
dvcp-node-service/src/tools/childProcess.js
2023-01-18 14:25:00 +08:00

39 lines
839 B
JavaScript

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