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('

This is the main page

'
); } 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的方法。

最后自己的程序能够跑起来了 不在报错了。

你可能感兴趣的:(nodejs)