11

シンプルなノード js http サーバーがあります。

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}).listen(8888);

私が走れば

node basicserver.js 

私は得る

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:642:11)
    at Array.0 (net.js:743:26)
    at EventEmitter._tickCallback (node.js:192:40)

この投稿を見たことがありますが、その投稿は http サーバーではなく TCP サーバーに固有のようです。誰でも助けてください。

4

7 に答える 7

27

リッスンしているポートは、すでに別のプロセスによってリッスンされています。この場合、それはあなた自身だと感じました。ps aux | grep nodea を実行してから、ノード プロセスをkill <pid>kill することができます。それに加えて、別のポートを試すこともできます。

- アップデート -

リッスンしているプロセスを見つけたい場合は、netstat -lpn(-lはリッスンしているポートを見つける、-pはプロセス名と pid を含める、 は-nホスト名を解決しない、さもなければ遅くなる) を使用できます。異なるポートでリッスンしているプロセスを見つけます。多すぎる場合は、できますnetstat -lnp | grep :8888

を使用することもできます。fuser 8888/tcpこれにより、プロセス pid が表示され、追加-kすると、これまでにない最速の方法でプロセスが強制終了されます。

この 2 つのコマンドはlinuxでしか機能しないことに気付きました。

于 2012-02-09T03:17:15.647 に答える
6

私のマシン上のすべての実験を殺すには...

 killall node
于 2016-10-26T17:26:58.347 に答える
2

サーバーを実行しようとすると、同じ問題が発生する可能性がありますが、root 権限がありません。

于 2012-11-05T16:40:07.470 に答える
1

私の唯一の仕事Linux Mintによる殺害について:PID

netstat -nltp | grep 8080-ポートPIDの使用を示して8080います、私の出力:

tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 27599/node-PIDノード開発サーバーのは27599私の場合です

そして殺します:

kill -9 <PID>

kill -9 27599

前文:

どのようなバグかわかりませんが、次のように WebPack 開発サーバーを起動していますnpm run dev

webpack-dev-server --hot --host int.loc --port 8080

そして、彼を中断すると-ターミナルCtrl+Cでもう一度開始します-彼は同じエラーを引き起こしますError: listen EADDRINUSE 127.0.0.1:8080が、それが完全に機能する前は常に。

killall node助けられませんでした。

于 2018-10-15T10:03:01.780 に答える
0

EADDRINUSE 127.0.0.1 でもこの問題に遭遇しました。Node プロセスを確認した後、サーバーの IP を「localhost」に変更しました。これを行うと、すぐに起動しました。お役に立てれば。

于 2018-03-09T17:40:32.190 に答える