次のようにして、スクリプトを起動できます。
$ script-name command [args ...] |
1 つのスクリプトは、次のような基本手順を実行します。
コマンド行の引数から RCM コマンドを取得します。
そのコマンドを実行します。
結果を、名前 - 値のペアとして stdout (標準出力) に書き込みます。
適切な終了ステータスで終了します。
RCM デーモンは、1 度に 1 スクリプトの 1 つのインスタンスを実行します。たとえば、1 つのスクリプトが実行されている時は、RCM デーモンは最初のスクリプトが終了するまで同じスクリプトを実行しません。
次の RCM コマンドは、RCM スクリプト内に含める必要があります。
scriptinfo - スクリプトの情報を収集します。
register - 対象となるものをリソースに登録します。
resourceinfo - リソースの情報を収集します。
次の RCM コマンドは、必要に応じて一部またはすべてを含めることができます。
queryremove - リソースが解放できるかどうかを照会します。
preremove - リソースを解放します。
postremove - リソースを削除した後の通知を発行します。
undoremove - preremove で実行されたアクションを元に戻します。
これらの RCM コマンドの詳細な説明は、rcmscript(4) のマニュアルページを参照してください。
ユーザーがデバイスを動的に削除する際、RCM デーモンは以下を実行します。
スクリプト内で識別されるリソースのリスト (デバイス名) を収集するために、スクリプトの register コマンドを実行する。
スクリプトに登録されたリソースが動的削除の操作の影響を受ける場合、リソースの削除を行う前に、スクリプトの queryremove/preremove コマンドを実行する。
削除の操作が成功した場合は、スクリプトの postremove コマンドを実行する。削除の操作が失敗した場合は、RCM デーモンはスクリプトの undoremove コマンドを実行する。