注: | この節の情報は UNIX ベースのプラットフォームだけに適用されます。 |
rah を実行しているときに検出される可能性がある問題の処理方法についての提案を、 以下に示します。
この問題は、下記のことが原因とみられます。
マシンのいずれかが、その .hosts ファイルの中で正しく定義された rah を実行する ID をもっていないか、 または rah を実行する ID が、 .rhosts で正しく定義されたホストのいずれかをもっていない、 のどちらかです。
rah を実行している ID が、 その .rhosts ファイルの中で正しく定義されたいずれかのマシンをもっていません。
rsh somewher -l $USER db2_kill
rah は完了しません。
これは正常です。 rah は、それが終了したあと実行を続ける、 バックグラウンドのモニター・プロセスを開始します。 これらのプロセスは、実行したコマンドに関連するすべてのプロセスが自ら終了するまで、 正常に続けられます。 db2_kill の場合は、これは、 すべてのデータベース・マネージャーの終了を意味します。 そのコマンドが rahwait>or および kill <process_id> であるようなプロセスを探すことによって、 モニター・プロセスを終了することができます。 シグナル番号を指定してはなりません。 代わりに、省略時解釈 (15) にしておきます。
これは、複数の rah が同時に実行して、 出力のバッファリング用として同じバッファー・ファイル ($RAHBUFDIR/$RAHBUFNAME など) を使用しようとしているためです。 このような問題を避けるために、 同時に実行される rah コマンドのおのおのについて、 別の $RAHBUFNAME を使用してください。たとえば、以下の ksh では、
export RAHBUFNAME=rahout rah ";$command_1" & export RAHBUFNAME=rah2out rah ";$command_2" &
のようにするか、または次のようにして、 一意の名前をシェルに自動的に選択させるようにします。
RAHBUFNAME=rahout.$$ db2_all "....."
どのような方法を使用する場合も、ディスク・スペースに制約があるならば、 何らかのポイントでバッファー・ファイルを確実に終結処理する必要があります。 rah は、 実行の終わりにバッファー・ファイルを消去することはしませんが、 次にユーザーが同じバッファー・ファイルを指定したときには既存のファイルを消去して再使用します。
rah '"print from ()'
以下のメッセージを受け取った。
ksh: syntax error at line 1 : (' unexpected
() および ## の置換の前提条件は次のとおりです。
コマンドを並列実行している場合、パフォーマンスのヒントとして、 & から与えられる機能が本当に必要でない限り、|& よりは | を、 ||& または ; よりは || を使用してください。 & を指定すると、rsh コマンドが必要になり、 パフォーマンスが低下するためです。