LoginSignup
0
0

More than 3 years have passed since last update.

Address already in use :::(ポート番号)の対処方法

Last updated at Posted at 2020-10-06

はじめに

アプリケーションを起動中にプロセスを終了させずにターミナルを終了させる

「Address already in use :::(ポート番号)」のエラーメッセージ

というような事をもう何度も繰り返しているため、備忘録代わりに記事を投稿します。

解決方法

1.lsofコマンドを使用して、現在開いているポートを確認

lsof[オプション][パス名]コマンドを使用して現在開いているポートを確認して、該当のアドレスを終了させます。
lsofは開いているファイル名を表示させるコマンドで、これに「-i」オプションをつけることで「ネットワーク」が対象になり、さらにポート番号も分かれば「パス名」にポート番号も入力することで、開いているネットワークアドレスを絞り込むことができます。

// 現在開いているネットワークアドレスを確認(localhost:3000の場合)
lsof -i :3000

//実行結果
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Node    1234  user 12u Ipv6  102711  oto     TCP   *:3000(LISTEN)
         ↑これを次のコマンドで使用します

終了させたいネットワークが出てきました。
その後、下記のコマンドを入力してプロセスを終了させます。

kill 1234

これでOKです。

まだわからないこと

今回のケースは私の場合Webpackで自分で構成したReactアプリで発生するのですが、「create-react-app」コマンドで作成したReactアプリでは起動中にターミナルを終了させても起こりません。
起動中に終了してもlisten状態のままにならない設定でもあるのでしょうか・・・・
また判明したらここに記そうと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0