酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

node.jsで「Error: listen EADDRINUSE 0.0.0.0:8080」エラーが発生して起動してくれない

forever start app/dist/server/したのにアプリが起動してくれない💢

Error: listen EADDRINUSE 0.0.0.0:8080は、使用したいポートがすでに使用されているときにエラーが発生するようです。

data:    app/dist/server/:30634 - events.js:154
data:    app/dist/server/:30634 -       throw er; // Unhandled 'error' event
data:    app/dist/server/:30634 -       ^
data:    app/dist/server/:30634 - Error: listen EADDRINUSE 0.0.0.0:8080
data:    app/dist/server/:30634 -     at Object.exports._errnoException (util.js:856:11)
data:    app/dist/server/:30634 -     at exports._exceptionWithHostPort (util.js:879:20)
data:    app/dist/server/:30634 -     at Server._listen2 (net.js:1227:14)
data:    app/dist/server/:30634 -     at listen (net.js:1263:10)
data:    app/dist/server/:30634 -     at net.js:1372:9
data:    app/dist/server/:30634 -     at nextTickCallbackWith3Args (node.js:486:9)
data:    app/dist/server/:30634 -     at process._tickCallback (node.js:392:17)
data:    app/dist/server/:30634 - error: Forever detected script exited with code: 1

rootでログインして、nodeのプロセスの一覧を出します。

# ps aux | grep node

user   29318  0.0  0.2 1038912 2316 ?        Sl   04:46   0:00 /usr/local/bin/node /home/user/app/dist/server/

前に起動したnodeプロセスが生きていたので殺します。

# killall node