8.7 マルチOpenTP1のコマンドを振り分けるサンプル

マルチOpenTP1のノードにrshなどを使ってほかのノードからコマンドを実行する場合,どちらのOpenTP1でコマンドが実行されるかわかりません。そのため,ノード名を指定してコマンドを実行する必要があります。このようなコマンドを実行するために,ノード名を指定してコマンドを実行するコマンド(シェルファイル)がサンプルに格納してあります。このコマンドは,Baseサンプルtools/ディレクトリの下に,delvcmdという名称で格納してあります。

<この節の構成>
(1) delvcmdコマンドの使い方
(2) コマンド引数に指定する値の制限
(3) delvcmdコマンドで実行できないコマンド

(1) delvcmdコマンドの使い方

delvcmdコマンドは,次の形式で実行します。

delvcmd  -w  ノード名〔,ノード名〕… コマンド名

ノード名には,同じマシン内のノード識別子を指定します。ノード名は,複数指定できます。複数指定するときは,ノード名とノード名をコンマ(,)で区切ります。

コマンド入力例を次に示します。これは,ノード"nd01"とノード"nd02"にprclsコマンドを実行する例です。入力形式は次に示すどちらでもかまいません。

%  delvcmd  "prcls"  -w  nd01,nd02  <CR>

%  delvcmd  -w  nd01,nd02  "prcls"  <CR>

このコマンドを使う前に,コマンド内にノードごとの$DCDIR,$DCCONFPATH,$SHLIB_PATH,$PATHを,絶対パス名で指定しておいてください。

引数として指定するコマンドは,アポストロフィ(’)と引用符(")のどちらかで囲んでください。ただし,次に示すコマンドについては制限があります。

(2) コマンド引数に指定する値の制限

delvcmdコマンドの引数には,アスタリスク(*)は使えません。アスタリスクを使ってコマンド引数を一括指定すると,delvcmdコマンドが正常に実行できない場合があります。

delvcmdコマンドに指定するコマンド名には,パイプやリダイレクションは使えません。delvcmdコマンドの実行結果はパイプまたはリダイレクションできます。コマンド入力例を次に示します。

%  delvcmd  "prcls"  -w  nd01, nd02  >  file  <CR>

(3) delvcmdコマンドで実行できないコマンド

OpenTP1システムに設定されているアクセス権限によっては,delvcmdコマンドで実行できないコマンドがあります。この場合,delvcmdコマンドを実行する利用者が,対象となるノードのOpenTP1管理者と同じ利用者名称である必要があります。