これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド erl_call です。
プログラム:
NAME
erl_call - 分散 Erlang ノードの呼び出し/開始
DESCRIPTION
erl_call 分散 Erlang ノードの起動および/または分散 Erlang ノードとの通信が可能になります。 それ
に基づいて構築されています erl_インターフェース サンプルアプリケーションとしてライブラリを使用します。 その目的は使用することです
分散 Erlang ノードと対話するための Unix シェル スクリプト。 それはすべてを実行します
Erlang との通信 レックス 、標準の Erlang RPC 機能を使用します。 します
Erlang ターゲット ノードで特別なソフトウェアを実行する必要はありません。
主な用途は、分散 Erlang ノードを開始するか、通常の関数を作成することです。
電話。 ただし、Erlang モジュールをパイプすることもできます。 erl_call そしてそれを持っている
コンパイルするか、評価される Erlang 式のシーケンスをパイプ処理します (
Erlang シェル)。
原因となるオプション stdin 読み取られるため、内部からスクリプトとして有利に使用できます
(Unix) シェル スクリプト。 もう一つの素敵な使い方 erl_call (http) CGI-bin スクリプトからのものである可能性があります。
輸出
erl_call
各オプション フラグは、その名前、タイプ、意味とともに以下に説明されています。
-a [モッド [楽しい [引数]]]]:
(任意): 指定された関数を適用し、結果を返します。 ウェイ は
指定されていますが、 start と [] 不特定のものとみなされる 楽しいです と 引数,
。 引数 と同じ形式である必要があります アーラン:適用/3。 注意
このフラグは引数を XNUMX つだけ取るため、引用符で囲む必要がある場合があります。
グループ化する ウェイ, 楽しいです と 引数、あなたの行動に応じた方法で
コマンドシェル。
-c クッキー:
(任意): 特定の Cookie を指定するには、このオプションを使用します。 クッキーがない場合
指定、 ~/.erlang.cookie ファイルが読み取られ、その内容が次のように使用されます。
クッキー。 通信したい Erlang ノードには同じ Cookie が必要です。
-d:
(任意): デバッグモード。 これにより、すべての IO がファイルに出力されます。
~/.erl_call.out.ノード名ここで、 ノード名 の Erlang ノードのノード名です。
質問。
-e:
(任意): ' で区切られた一連の Erlang 式を読み取ります。,」と終わった
とともに '.'、 から stdin EOF まで (Control-D)。 式を評価し、
最後の式の結果を返します。 戻り値 {わかりました、結果} 成功した場合。
-h 隠し名:
(任意): 非表示ノードの名前を指定します。 erl_call を表します。
-NS:
(任意): Erlang モジュールを読み取ります。 stdin そしてそれをコンパイルします。
-n ノード:
(の一つ -NS、 -名前、 -スネーム は必須です): と同じ意味です -名前 そして、することができます
下位互換性の理由から、引き続き使用されます。
-名前 ノード:
(の一つ -NS、 -名前、 -スネーム 必要とされている): Node 対象となるノードの名前です
を開始または通信しました。 と仮定されます Node で始まります ERL
-名前これは、完全修飾された長いノード名が使用されることを意味します。 もし -s
オプションが指定されている場合、Erlang ノードは (必要に応じて) で起動されます。 ERL -名前.
-NS:
(任意): -n スイッチで指定された Erlang ノードを停止します。 このスイッチ
-s スイッチをオーバーライドします。
-NS:
(任意): 隠しノードのランダムな名前を生成します。 erl_call
を表します。
-s:
(任意): 必要に応じて分散 Erlang ノードを開始します。 これは、次のことを意味します
一連の呼び出し。ここで、「-s'と'-n Node' は定数であり、最初のもののみです
呼び出しにより Erlang ノードが開始されます。 これにより、残りのコミュニケーションが非常に楽しくなります
速い。 このフラグは現在、Unix プラットフォームでのみ使用できます。
-スネーム ノード:
(の一つ -NS、 -名前、 -スネーム 必要とされている): Node 対象となるノードの名前です
を開始または通信しました。 と仮定されます Node で始まります ERL
-スネーム これは、短いノード名が使用されることを意味します。 もしも -s オプションが与えられると、
Erlang ノードは (必要に応じて) で起動されます。 ERL -スネーム.
-v:
(任意): 大量に印刷します 詳細 情報。 これは次の場合にのみ役立ちます。
の開発者およびメンテナ erl_call.
-x エルスクリプト:
(任意): 使用する Erlang 起動スクリプトの別の名前を指定します。 もしも
指定されていない、標準 ERL 起動スクリプトを使用します。
例
Erlang ノードを開始して呼び出します アーラン:時間/0.
erl_call -s -a 'erlang time' -n マドンナ
18,27,34 {}
を呼び出して Erlang ノードを終了します アーラン:停止/0.
erl_call -s -a 'erlang halt' -n マドンナ
複数の引数を指定して適用します。
erl_call -s -a 'リストマップ [{math,sqrt},[1,4,9,16,25]]' -n マドンナ
いくつかの式を評価します。 この 終了 EOF (Ctrl+D).
erl_call -s -e -n マドンナ
統計 (実行時)、
X = 1、
Y=2、
{_,T}=統計(実行時)、
{X+Y,T}。
^D
{わかりました、{3,0}}
モジュールをコンパイルして実行します。 繰り返しになりますが、 終了 EOF (Ctrl+D)。 (例では
示されているように、出力は後でフォーマットされています)。
erl_call -s -m -a ロリータ -n マドンナ
-モジュール(ロリータ)。
-コンパイル(エクスポート_オール)。
start() ->
P = プロセス()、
F = fun(X) -> {X,プロセス情報(X,登録名)} 終了、
リスト:マップ(F,[],P)。
^D
[{[メール保護],0,0>,
{登録名,初期化}},
{<[メール保護],2,0>,
{登録名,erl_prim_loader}},
{<[メール保護],4,0>,
{登録名,エラーロガー}},
{<[メール保護],5,0>,
{登録名,アプリケーション コントローラー}},
{<[メール保護],6,0>,
{登録名,カーネル}}、
{<[メール保護],7,0>,
[]}、
{<[メール保護],8,0>,
{登録名,カーネル_sup}},
{<[メール保護],9,0>,
{登録名,net_sup}},
{<[メール保護],10,0>,
{登録名,ネットカーネル}},
{<[メール保護],11,0>,
[]}、
{<[メール保護],12,0>,
{登録名,グローバル名サーバー}},
{<[メール保護],13,0>,
{登録名,認証}}、
{<[メール保護],14,0>,
{登録名、レックス}}、
{<[メール保護],15,0>,
[]}、
{<[メール保護],16,0>,
{登録名,ファイルサーバー}},
{<[メール保護],17,0>,
{登録名,コードサーバー}},
{<[メール保護],20,0>,
{登録名,ユーザー}}、
{<[メール保護],38,0>,
[]}]
onworks.net サービスを使用してオンラインで erl_call を使用する