Linux システムでは、プログラムが占有しているポート番号を確認したい場合、netstat コマンド、lsof コマンド、ss コマンドなどのコマンドを使用できます。その使用方法については、以下で詳しく紹介します。
Linux システムでは、次の方法を使用して、プログラムが占有しているポート番号を確認できます。
1.netstatコマンド
netstat コマンドを使用して、システムのネットワーク接続と監視を表示します。次に、netstat コマンドを使用して、プログラムが占有しているポート番号を表示する例を示します。
netstat -tuln | grep <プロセス名または PID>
このコマンドは、監視および確立されているすべての TCP および UDP 接続をリストし、指定されたプロセスに関連するポート番号情報をフィルターで除外します。
2.lsofコマンド
lsof コマンドは、現在開いているファイルとシステムのプロセス情報を一覧表示できます。以下は、lsof コマンドを使用して、プログラムによって占有されているポート番号を表示する例です。
lsof -i :<ポート番号>
lsof -i TCP:<ポート番号>
lsof -i UDP:<ポート番号>
このコマンドは、指定されたポート番号を占有するすべてのプロセス情報を一覧表示します。
3.ssコマンド
ss は netstat の代替ツールであり、より高速かつ効率的なネットワーク接続情報のクエリを提供します。次に、ss コマンドを使用して、プログラムが占有しているポート番号を表示する例を示します。
ss -tuln | grep <プロセス名または PID>
このコマンドは、監視および確立されているすべての TCP および UDP 接続をリストし、指定されたプロセスに関連するポート番号情報をフィルターで除外します。
4. /proc ファイルシステム
Linux システムでは、/proc ディレクトリの下に実行中の各プロセスに対応するディレクトリがあり、これらのディレクトリ内のファイルにアクセスすることで関連情報を取得できます。以下は、/proc ファイル システムを使用して、プログラムが占有しているポート番号を表示する例です。
ls -l /proc//fd | grepソケット
ここで、 はプロセスの PID です。このコマンドは、指定されたプロセスのオープン ソケット ファイル リンクをリストし、そこからポート番号を取得できます。