export default const portSecurity = (port , callback) => {
const {exec} = require('child_process')
const cmd = `dnetstat -ano|findstr ${port}`
exec(cmd, (error, stdout, stderr) => {
console.log(1, error)
console.log(2, stdout)
if (!error && stdout) {
let pid = null
stdout.trim().split(/[\n|\r]/).forEach(item => {
if (item.indexOf('LISTEN') !== -1 && !pid) {
pid = item.split(/\s+/).pop()
}
})
if (!pid) {
console.log(`端口${port}未被占用`)
callback && callback()
} else {
console.log(`存在冲突端口:${port},pid为${pid}`)
exec(`taskkill /pid ${pid} -t -f`, (error, stdout) => {
console.log(`冲突端口:${port},pid为${pid}已被关闭`)
callback && callback()
})
}
} else {
console.log(`端口${port}未被占用,继续进行`)
callback && callback()
}
})
}