Node.js脚本杀掉占用端口的进程

时间:2023-03-09 06:44:17
Node.js脚本杀掉占用端口的进程

express默认端口为3000,由于实际需要改为3392,修改监听3392之后,没有成功,发现该端口被系统正占用,为了避免每次都手工停掉该系统调用,释放端口,故写了如下脚本。

var cmd=process.platform=='win32'?'netstat -ano':'ps aux';
var exec = require('child_process').exec;
var qqname='qq';
var port='3392'; exec(cmd, function(err, stdout, stderr) {
if(err){ return console.log(err); } stdout.split('\n').filter(function(line){
var p=line.trim().split(/\s+/);
var address=p[1]; if(address!=undefined){
if(address.split(':')[1]==port)
{
exec('taskkill /F /pid '+p[4],function(err, stdout, stderr){
if(err){
return console.log('释放指定端口失败!!');
} console.log('占用指定端口的程序被成功杀掉!');
});
}
}
});
});