어떤 에러인가요?
서버 실행 후 종료하지 않고 vscode를 껐다가 다시 켜서 서버를 실행하였을 때 발생한 오류
에러 메세지
node:events:368
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use :::4000
at Server.setupListenHandle [as _listen2] (node:net:1334:16)
at listenInCluster (node:net:1382:12)
at Server.listen (node:net:1469:7)
at Function.listen (/Users/sangkan/Project/Final Project/Dev/NoStanding/server/node_modules/express/lib/application.js:635:24)
at Object.<anonymous> (/Users/sangkan/Project/Final Project/Dev/NoStanding/server/app.js:34:5)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
Emitted 'error' event on Server instance at:
at emitErrorNT (node:net:1361:8)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: 'EADDRINUSE',
errno: -48,
syscall: 'listen',
address: '::',
port: 4000
}
[nodemon] app crashed - waiting for file changes before starting...
에러 핸들링 방법
서버가 올바르게 종료되지 않아 발생한 문제이다.
터미널에서 아래 코드를 입력하여
$ lsof -i TCP:포트번호
가동 중인 서버를 찾고
kill -9 PCI번호
위 코드를 입력하여 강제 종료 시킨 후 서버를 재가동 하면 에러가 사라진다.
ex )
~~@~~-ui-MacBookAir ~ % lsof -i TCP:4000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 63066 sangkan 22u IPv6 0x3f076cad4734e4d 0t0 TCP *:terabase (LISTEN)
~~@~~-ui-MacBookAir ~ % kill -9 63066