RCM スクリプトは次のいずれかです。
実行可能シェルスクリプト (Perl、sh、csh、または ksh) または RCM デーモンが実行するバイナリプログラム。推奨言語は、Perl です。
スクリプトファイル所有者のユーザー ID を使用することにより、自分のアドレス領域で実行されるスクリプト。
cfgadm コマンドを使ってシステムリソースを動的に再構成するときに、RCM デーモンによって実行されるスクリプト。
RCM スクリプトを使用した場合、デバイスを動的に取り外すと、デバイスがアプリケーションから解放されます。デバイスが現在開かれている場合、RCM スクリプトはデバイスを閉じます。
たとえば、テープバックアップアプリケーションで RCM スクリプトを使用して、テープドライブを終了させたり、テープバックアップアプリケーションをシャットダウンしたりできます。
次のようにして RCM スクリプトを実行します。
$ script-name command [args ...]
RCM スクリプトにより、次の基本的な手順が実行されます。
コマンド行引数から RCM コマンドを取得します。
コマンドを実行します。
結果を名前と値のペアで stdout に記述します。
適切な終了ステータスで終了します。
RCM デーモンは、スクリプトのインスタンスを同時に 1 つ実行します。このため、RCM デーモンは、スクリプトの実行中には、そのスクリプトが終了するまで同じスクリプトを実行しません。
RCM スクリプトには、次の RCM コマンドを含める必要があります。
scriptinfo - スクリプト情報を収集します
register - リソースに処理対象を登録します
resourceinfo - リソース情報を収集します
次の RCM コマンドの一部またはすべてを RCM スクリプトに含めることができます。
queryremove - リソースが解放されたかどうかを問い合わせます
preremove - リソースを解放します
postremove - リソースの削除後に通知します
undoremove - preremove で実行されたアクションを元に戻します
これらの RCM コマンドの詳細は、rcmscript(4) のマニュアルページを参照してください。
デバイスを動的に取り外すと、RCM デーモンにより次のコマンドが実行されます。
スクリプトで識別されたリソースリスト (デバイス名) を収集するための、スクリプトの register コマンドが実行されます。
スクリプトの登録されたリソースが動的な取り外し操作によって影響を受ける場合、リソースを取り外す前にスクリプトの queryremove および preremove コマンドが実行されます。
取り外し操作が成功した場合に、スクリプトの postremove コマンドが実行されます。ただし、取り外し操作に失敗した場合、RCM デーモンによりスクリプトの undoremove コマンドが実行されます。
次の表に、RCM スクリプトを格納できる場所を示します。
|