Node / Express: EADDRINUSE、アドレスは既に使用されています - ポートを使用しているプロセスを停止するにはどうすればよいですか? 質問する

Node / Express: EADDRINUSE、アドレスは既に使用されています - ポートを使用しているプロセスを停止するにはどうすればよいですか? 質問する

connect を使用して node.js で実行されているシンプルなサーバーがあります。

var server = require('connect').createServer();
//actions...
server.listen(3000);

私のコードには実際のルート ハンドラーがありますが、それが基本的な考え方です。私が繰り返し得るエラーは次のとおりです。

EADDRINUSE, Address already in use

以前にクラッシュまたはエラーが発生した後にアプリケーションを再度実行すると、このエラーが発生します。ターミナルの新しいインスタンスを開かないので、 でプロセスを終了しますctrl + z

サーバーまたは接続を閉じるだけで済むと確信しています。電話をかけてみましたが、server.close()うまくprocess.on('exit', ...);いきませんでした。

ベストアンサー1

まず、どのプロセスがport 3000

sudo lsof -i :3000

これにより、このポートでリッスンしているすべてのPIDが一覧表示されます。PID取得したら、次のようにして終了できます。

kill -9 <PID>

<PID>ここで、前のコマンド出力をプロセス ID またはプロセス ID のリストに置き換えます。

おすすめ記事