Node.jsでError: listen EADDRINUSE: address already in use :::8080対応方法

2021年12月21日

環境
# cat /etc/redhat-release
CentOS Linux release 8.5.2111
# node -v
v14.17.5

現象について
スクリプトを実行します
# node sample.js &

エラーメッセージ

Error: listen EADDRINUSE: address already in use :::8080
    at Server.setupListenHandle [as _listen2] (net.js:1280:14)
    at listenInCluster (net.js:1328:12)
    at Server.listen (net.js:1415:7)
    at Object.<anonymous> (/usr/local/src/sample.js:5:5)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12

対応方法
1.起動中のプロセスを確認します

# ps aux | grep node
root         953  0.0  0.1  17784  2064 ?        Ss   Dec20   0:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground
root       11200  0.0  1.9 514412 35008 pts/0    Sl   01:43   0:00 node sample.js
root       12256  0.0  0.0  12136  1156 pts/0    S+   01:50   0:00 grep --color=auto node

2.killコマンドでプロセスを終了させます

# kill -9 11200

3.プロセスチェックを行います

#ps aux | grep node
root         953  0.0  0.1  17784  2064 ?        Ss   Dec20   0:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground
root       12262  0.0  0.0  12136  1080 pts/0    R+   01:50   0:00 grep --color=auto node
[1]+  Killed                  node sample.js

4.スクリプトを実行します

# node sample.js &
[1] 12265

 

CentOS8

Posted by arkgame