ポートをどのプロセスが利用しているかを確認する方法

固定ポートを利用するミドルウェアやアプリケーションを起動しようとすると、偶然ポートが他アプリケーションに利用されていて起動に失敗するという事象がたまに発生します。こういう問題は、Ephemeral portの範囲のポートを固定で利用している場合に多いと思います。

実際に発生したときに何のアプリケーションが利用しているのか調べる方法を記載します。

調べることができれば、そのアプリケーションを終了させることで、利用したいアプリケーションを起動させることができます。

そもそも、Ephemeral portを固定で使うことを回避すべきではあるのですが。。

Windowsでの確認方法

①netstat -ano コマンドで現在どのポートがどのプロセスで利用されているのか確認します。

 

左図の左側の赤枠部分がローカルアドレス:ローカルポートの形式になっています。

そして、右側の赤枠が利用しているプロセスのIDになります。

 

ここまでで、プロセスのIDがわかりますが、プロセス名はわかりませんね。

 

そこで、次の2つのいずれかのコマンドでプロセスのIDとプロセス名を関連付けます。

②-1 powershellを利用して、Get-Process命令でプロセスの一覧を表示させます。

 

左図の左側の赤枠がプロセスのIDです。右側の赤枠がプロセス名称になります。

②-2 tasklist コマンドでプロセスの一覧を表示させます。

 

左図赤枠にプロセスのIDとプロセス名称が表示されます。

Linuxでの確認方法

①netstat -anp コマンドで現在どのポートがどのプロセスで利用されているのか確認します。

 

 

左図の左側の赤枠部分がローカルアドレス:ローカルポートの形式になっています。

そして、右側の赤枠が利用しているプロセスのIDとプロセスの名称になります。