これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド epmd です。
プログラム:
NAME
epmd - Erlang ポート マッパー デーモネpmd [-d|-debug] [DbgExtra...] [-address アドレス] [-port
No] [-daemon] [-relaxed_command_check]ポート マッパー デーモンを開始しますpmd [-d|-debug] [-port
No] [-names|-kill|-stop Name]実行中のポート マッパー デーモンと通信します
DESCRIPTION
このデーモンは、分散 Erlang に関与するすべてのホスト上でネーム サーバーとして機能します。
計算。 Erlang ノードが起動すると、ノードには名前が付けられ、アドレスが取得されます。
ホスト OS カーネルから。 名前と住所が送信されます epmd デーモンが実行中
ローカルホスト。 TCP/IP環境では、アドレスはIPアドレスとポートで構成されます。
番号。 ノードの名前は次の形式のアトムです。 名前@ノード。 の仕事 epmd
デーモンは、どのノード名がどのアドレスをリッスンしているかを追跡します。 したがって、 epmd マップ
シンボリックノード名をマシンアドレスに変換します。
TCP/IP epmd デーモンは実際には、 お名前 Erlang の (最初の) 部分
ノード名。 の 主催者 の部分(その後は何でも) @) はノード名に暗黙的に含まれます。
epmd Erlang ノードが接続できる IP アドレスと同様に、デーモンが実際に接続されました。
に達しました。 したがって、Erlang には一貫性のある正しい TCP ネーミング サービスが必要です。
ネットワークが正しく機能するようにします。
起動 ポート マッパー デーモン:
デーモンは、 ERL ノードが次の場合のコマンド
分散されており、実行中のインスタンスが存在しません。 自動的に起動する場合は、
デーモンの動作を変更するには、環境変数を使用する必要があります。 を参照してください。
環境 variables 以下のセクションをご覧ください。
-daemon 引数が指定されていない場合、 epmd 通常のプログラムとして実行されます
シェルが起動されるシェルの制御端末。 通常、次のように実行する必要があります。
デーモン。
通常の起動オプションについては、 レギュラー オプション 以下のセクションをご覧ください。
当学校区の DbgExtra オプションについては、 DbgExtra オプション 以下のセクションをご覧ください。
コミュニケーション a ランニング ポート マッパー デーモン:
を使用して、実行中の epmd デーモンと通信します。 epmd プログラムが完了しました
主にデバッグ目的で。
さまざまなクエリについては、 対話 オプション 以下のセクションをご覧ください。
REGULAR OPTIONS
これらのオプションは、実際のネームサーバーを起動するときに使用できます。 ネームサーバーは
通常は、によって自動的に開始されます ERL コマンド (まだ使用できない場合) を使用できますが、
IE システム起動時にも開始されます。
-住所 リスト:
このインスタンスを epmd IP アドレスのカンマ区切りリストのみをリッスンし、
ループバック アドレス (リストに追加されていない場合は暗黙的に追加されます)
指定された)。 これは、 ERL_EPMD_ADDRESS 環境変数。 見る
セクション 環境 variables を参照してください。
-港 いいえ:
epmd のこのインスタンスがデフォルトの 4369 以外の別の TCP ポートをリッスンできるようにします。これは、
を使用して設定します ERL_EPMD_PORT 環境変数。 セクションを参照してください 環境
variables 以下
-d | -デバッグ:
デバッグ出力を有効にします。 もっと -d フラグを指定すると、より多くのデバッグ出力が得られます (
一定の制限)。 このオプションは、epmd デーモンが起動されていない場合に最も役立ちます。
デーモン。
-デーモン:
制御端末から切り離された epmd を起動します。 次の場合、ログは syslog に記録されます。
利用可能であり、正しく構成されています。 epmd デーモンが起動時に開始される場合、このオプションは
必ず使用する必要があります。 というときにも使われます。 ERL コマンドが自動的に開始されます
epmd.
-relaxed_command_check:
緩和されたコマンド チェック (主に逆方向のチェック) を使用して epmd プログラムを開始します。
互換性があります)。 これは以下に影響します。
* 緩和されたコマンドチェックでは、 epmd デーモンは次のコマンドでローカルホストから強制終了できます。
すなわち epmd -殺す アクティブなノードが登録されている場合でも。 通常はデーモンのみ
空のノードデータベースでは、次のコマンドで強制終了できます。 epmd -殺す
* epmd -停止 コマンド (および指定できる epmd への対応するメッセージ)
erl_interface/ei) は可能性を広げるため、通常は常に無視されます。
同じ名前の XNUMX つのノードが同時に生きているという奇妙な状況
時間。 ノードは、epmd への接続を閉じるだけで自身の登録を解除します。
stop コマンドはデバッグ状況での使用のみを目的としていました。
緩和されたコマンド チェックを有効にすると、ライブ ノードを強制的に登録解除できます。
環境変数を設定することで、緩和されたコマンド チェックを有効にすることもできます。
ERL_EPMD_RELAXED_COMMAND_CHECK 始める前に epmd.
対話型の使用が非常に制限されているシステムでは、緩和されたコマンド チェックのみを使用してください。
DBGEXTRA OPTIONS
これらのオプションは、epmd クライアントのデバッグとテストのみを目的としています。 使用すべきではありません
通常動作中。
-packet_timeout SECONDS:
epmd がタイムアウトするまでに接続が非アクティブでいられる秒数を設定します。
接続を閉じます (デフォルトは 60)。
-遅延受け入れ SECONDS:
ビジーなサーバーをシミュレートするには、epmd に通知が届くまでの間に遅延を挿入できます。
新しい接続が要求され、接続が受け入れられたとき。
-遅延書き込み SECONDS:
ビジーサーバーのシミュレーションも行います。 応答が送信される前に遅延を挿入します。
インタラクティブ OPTIONS
これらのオプションにより、 epmd 対話型コマンドとして実行し、送信結果を表示します。
すでに実行中のインスタンスに対するクエリ epmd。 接続された epmd は常にローカル上にあります
ノードですが、 -港 複数のインスタンスが実行されている場合、オプションを使用してインスタンス間を選択できます
ホスト上の異なるポートを使用します。
-港 いいえ:
連絡先 epmd 指定された TCP ポート番号 (デフォルトは 4369) でリッスンします。 これも可能です
を使用して設定します ERL_EPMD_PORT 環境変数。 セクションを参照してください 環境
variables を参照してください。
-名前:
現在実行中の epmd に登録されている名前をリストします。
-殺す:
現在実行中のものを強制終了します epmd.
ランニングを殺す epmd の場合にのみ許可されます epmd -名前 空のデータベースを表示するか、
-relaxed_command_check のインスタンスの実行時に指定されました epmd 始まった。 注記
それ -relaxed_command_check 受け入れるデーモンを起動するときに与えられます
ライブノードが登録されている場合に強制終了します。 epmd を対話的に実行する場合、
-relaxed_command_check 効果はありません。 リラックスしたコマンドなしで起動されるデーモン
チェックは、IE シグナルまたはその他の OS 固有のメソッドを使用して強制終了する必要があります。
アクティブなクライアントが登録されています。
-停止 お名前:
ライブノードを強制的に登録解除する epmdのデータベース
このコマンドは連絡する場合にのみ使用できます。 epmd で開始されたインスタンス
-relaxed_command_check フラグ。 緩和されたコマンド チェックを有効にする必要があることに注意してください。
epmd デーモンが連絡しました。 epmd を対話的に実行する場合、 -relaxed_command_check 持っています
無効。
ENVIRONMENT 変数
ERL_EPMD_ADDRESS:
この環境変数は、次のように IP アドレスのカンマ区切りリストに設定できます。
どちらの場合も epmd デーモンは、指定されたアドレスと、
ループバック アドレス (指定されていない場合は暗黙的にリストに追加されます)。
デフォルトの動作では、使用可能なすべての IP アドレスをリッスンします。
ERL_EPMD_PORT:
この環境変数には、epmd が使用するポート番号を含めることができます。 デフォルトのポート
ほとんどの場合、問題なく動作します。 別のポートを指定すると、複数のポートを許可できます。
epmd のインスタンスは、ノードの独立したクラスターを表し、同じノード上に共存します。
ホスト。 クラスター内のすべてのノードは、同じ epmd ポート番号を使用する必要があります。
ERL_EPMD_RELAXED_COMMAND_CHECK:
開始前に設定すると、 epmd デーモンはあたかも -relaxed_command_check
起動時にオプションが与えられました。 したがって、このオプションを開始前に設定すると、
Erlang 仮想マシン、自動的に起動 epmd を受け入れます -殺す -停止
制限のないコマンド。
ロギング
一部のオペレーティング システムでは syslog epmd がとして実行されるときのエラー報告に使用されます。
デーモン。 エラーログを有効にするには、/etc/syslog.conf ファイルを編集して、
エントリ
!epmd
*.* /var/log/epmd.log
どこ少なくとも XNUMX つの実際のタブ文字です。 スペースは黙って無視されます。
ACCESS 制限事項
当学校区の epmd デーモンは、ローカルホストとリモートホストの両方からのメッセージを受け入れます。 ただし、
クエリがリモート ホストから送信された場合、クエリ コマンドは応答 (および処理) されます。 それは
クライアントが次のプロセスにない場合、ノード名を登録しようとすると常にエラーになります。
と同じホスト epmd インスタンスが実行されている - そのようなリクエストは敵対的であるとみなされ、
接続はすぐに閉じられます。
リモート ノードから受け入れられるクエリは次のとおりです。
* ポートクエリ - つまり、指定された名前のノードがどのポートでリッスンするか
* 名前リスト - つまり、ホストに登録されているすべての名前のリストを提供します。
アクセスをさらに制限するには、ファイアウォール ソフトウェアを使用する必要があります。
onworks.net サービスを使用してオンラインで epmd を使用する