Node.js中埠被佔用 CMD命令解決
阿新 • • 發佈:2019-01-24
寫的程式如下所示:
var http= require('http'); var url=require('url'); var fs=require('fs'); var server=http.createServer(); var HtmlDir=__dirname + '/html/'; server.on('request', function(req, res){ var urlStr=url.parse(req.url); switch(urlStr.pathname){ case '/': sendData( HtmlDir + 'index.html', req, res); break; case '/user': sendData( HtmlDir + 'user.html', req, res); break; default: break; } }); function sendData(file, req, res){ fs.readFile( file, function( err, data){ if(err){ res.writeHead(404, { 'content-type': 'text/html;charset=utf-8' }); res.end('<h1>This is the main page</h1>'); } else { res.writeHead(200, { 'content-type': 'text/html;charset=utf-8' }); res.end(data); } }); }; server.listen(8080, 'localhost');
run這個程式的時候 報出的錯誤如下:
events.js:137
throw er; // Unhandled 'error' event
(不好意思 解決報錯之前沒有把報錯的具體資訊和內容給寫完整。)
出現這個報錯資訊原因是server.listen中的'8080'埠被別的程式和程序給佔用了。解決方法如下:
1.進入cmd命令視窗,寫netstat -ano|findstr "8080"
cmd視窗給我的資訊為:
上述紅框框內部的尾部有一個26120為埠8080對應的PID值 '26120'.
2.kill這個pid值taskkill -PID 26120 -F
cmd視窗給我的資訊為:
這個是通過CMD視窗結束nodejs的方法。
最後自己的程式能夠跑起來了 不在報錯了。