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('占用指定端口的程序被成功殺掉!'); }); } } }); });