以下のエラーの対処方法について。
Error: listen EADDRINUSE: address already in use :::3000
at Server.setupListenHandle [as _listen2] (node:net:1334:16)
at listenInCluster (node:net:1382:12)
at Server.listen (node:net:1469:7)
localhost:3000 のaddress が使用済みということなので該当プロセスを終了すれば良い。
該当プロセスの調査
# nodeで稼働中のプロセスを調査
ps aux | grep node
# port3000を利用してるプロセスの調査
sudo lsof -i:3000
後者のlsof -i :3000
の方が確実。
sudoを付けないとほかのユーザーやrootのプロセスが見れない。
該当のプロセスIDを指定してkill
kill -9 [該当のPID]
-9 は強制終了命令(killシグナル)を送るオプション。
デフォルトのkillコマンドでは、終了命令(HUPシグナル)を送るもので、プロセスが終了しない可能性に注意。