【发布时间】:2016-09-07 03:03:28
【问题描述】:
当我尝试运行我的脚本时出现此错误。
{ [Error: listen EADDRINUSE :::8000]
code: 'EADDRINUSE',
errno: 'EADDRINUSE',
syscall: 'listen',
address: '::',
port: 8000 }
Error: listen EADDRINUSE :::8000
at Object.exports._errnoException (util.js:890:11)
at exports._exceptionWithHostPort (util.js:913:20)
at Server._listen2 (net.js:1234:14)
at listen (net.js:1270:10)
at Server.listen (net.js:1366:5)
at Server.listen.Server.attach (/usr/lib/node_modules/socket.io/lib/index.js:216:9)
at Timeout._onTimeout (/var/www/html/Bot/site.js:618:29)
at tryOnTimeout (timers.js:224:11)
at Timer.listOnTimeout (timers.js:198:5)
Script.js 约 605 行
function load() {
query('SET NAMES utf8');
query('SELECT `id` FROM `rolls` ORDER BY `id` DESC LIMIT 1', function(err, row) {
if((err) || (!row.length)) {
logger.error('Cant get number from the last game');
logger.debug(err);
process.exit(0);
return;
}
currentRollid = row[0].id;
logger.trace('Roll '+currentRollid);
});
loadHistory();
setTimeout(function() { io.listen(8080); }, 3000);
}
618行是
setTimeout(function() { io.listen(8080); }, 3000);
我该如何解决这个问题?我尝试更改 io.listen 端口,但它仍然不起作用。
【问题讨论】:
-
杀掉当前监听8000端口的进程或者换成空闲端口。参见stackoverflow.com/q/9898372/218196。
-
我怎样才能杀死这个进程?