1. 程式人生 > >Node.js中埠被佔用 CMD命令解決

Node.js中埠被佔用 CMD命令解決

寫的程式如下所示:

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的方法。

最後自己的程式能夠跑起來了 不在報錯了。