Tips

4D v11 SQLが使用中のポート番号を調べる

日付2010/03/29
ID76029 (英語原文参照)
バージョン11
プラットフォームMac & Windows

4D Serverが使用するネットワークポート番号が実際に開かれており、受信できる状態であることを確認する場合、コマンドラインプログラムを使用するのが便利です。

Windowsの場合、4Dのポート番号はnetstatコマンドで調べることができます。

netstat -b -a -p TCP

-bオプションは、ポートを開いたアプリケーションの名前を表示するよう指示するものです。

-aオプションは、リッスンしているポートを含め、すべての接続を表示するよう指示するものです。

-pオプションは、特定のプロトコル、この場合はTCPだけを表示するよう指示するものです。

コマンドを実行すると下記(抜粋)のようなデータが入手できます。

Active Connections

Proto Local Address Foreign Address State PID
TCP josh-dell-xp:http josh-dell-xp.private.4d.com:0 LISTENING 3908
[4D Server.exe]

TCP josh-dell-xp:1919 josh-dell-xp.private.4d.com:0 LISTENING 3908
[4D Server.exe]

TCP josh-dell-xp:19813 josh-dell-xp.private.4d.com:0 LISTENING 3908
[4D Server.exe]

TCP josh-dell-xp:19814 josh-dell-xp.private.4d.com:0 LISTENING 3908
[4D Server.exe]

このデータは、4Dが80番(HTTP)、1919番(SQL)、19813番(アプリケーションサーバー)、19814番(DB4D)を開いていることを示しています。

Mac OS Xの場合、4Dのポート番号はlsofコマンドで調べることができます。

sudo lsof -i -P | grep '4D'

sudoコマンドは、lsofを実行するために必要なアクセス権を求めるためのものです。

-iオプションは、インターネットファイルだけを表示するように指示するものです。

UNIXシステムではあらゆるものをファイルとして扱うのでこのように表現します。

-Pオプションは、HTTPのように名前が定義されているものを含め、ポートを番号で表示するように指示するものです。

grepコマンドは、4Dに関係がある部分だけを抽出するためのものです。

コマンドを実行すると下記のようなデータが入手できます。

4D\x20Ser 3011 jfletcher 27u IPv4 0x5b7266c 0t0 TCP *:19814 (LISTEN)
4D\x20Ser 3011 jfletcher 28u IPv4 0x5ae5270 0t0 TCP *:19812 (LISTEN)
4D\x20Ser 3011 jfletcher 29u IPv4 0x5b64e64 0t0 TCP *:19813 (LISTEN)
4D\x20Ser 3011 jfletcher 30u IPv4 0x3b89f40 0t0 UDP *:19813

このデータは、4Dが19812番(SQL)、19813番(アプリケーションサーバー)、19814番(DB4D)を開いていることを示しています。