記事ページを表示中

ポートを使用しているプロセスを見つけて接続を切る方法|Error: That port is already in use.

記事No.65

更新日時2023年02月18日

Error: That port is already in use.

このエラーは、指定したポートが既に使われている時に表示されます。

エラーを解消するには、別のポートを指定するか、指定したポートを使用している既存のプロセスを終了させます。

今回は、指定したポートを使用している既存のプロセスを終了させる方法について解説します。

まずは、以下のコマンドを使用して、現在開いているプロセスの中で、指定したポートを使用しているプロセスを確認します。

以下の例では、8000ポートを使用しているプロセスを表示させています。

$lsof -i :8000

以下のような結果が返ってきました。

COMMAND      PID   USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
gunicorn 2087468 ubuntu    5u  IPv4 16443776      0t0  TCP localhost:8000 (LISTEN)
gunicorn 2087470 ubuntu    5u  IPv4 16443776      0t0  TCP localhost:8000 (LISTEN)

ポート8000は、プロセスID(PID)が2087468と2087470のプロセスが使用しているのが分かります。

この2つのプロセスを終了させます。終了させるコマンドは以下です。

$kill -9 2087468

プロセスIDを指定してkillコマンドを実行すればプロセスを終了させる事ができます。オプションに-9を付ける事で強制終了となります。

今回の場合、シェルが自動でプロセスIDが2087470のプロセスを終了させていました。

このように、

Error: That port is already in use.

が返ってきたら、既存のポート番号を空ける事でエラーは解消されます。

コメントフォーム

著者情報

名前:スカーレット
2010年からWEBサイトやWEBアプリを作成しています。最初は趣味でブログを書いていましたがSEOを勉強するのが楽しくなり、そのままブロガーとして独立しました。その後、記事を書くだけでは物足りなくなり自分でWEBアプリの作成をスタート。現在はブロガー兼プログラマーとして活動しています。このWEBアプリ(ブロトーク)もDjangoで自作しました。ブロトークはブログとSNSを合体させたようなWEBアプリです。ブログを読んで気づいた事や感想などあれば、気軽にメッセージを送って頂ければと思います。WEB技術を一緒に勉強していけたらと思います。