ポートを使用しているプロセスを見つけて接続を切る方法|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.
が返ってきたら、既存のポート番号を空ける事でエラーは解消されます。
コメントフォーム