ctrun - プロセス契約のコマンドの実行
/usr/bin/ctrun [options] command [ argument]...
ctrun ユーティリティーは新しく作成されたプロセス契約のコマンドを開始します。ctrun は契約を保持し、契約内で発生したイベントを出力したり、応答したりするように指示できます。
プロセス契約の詳細は、contract(5) および process(5) を参照してください。
サポートしているオプションは、次のとおりです。
プロセス契約作成者の補助フィールドを設定します。
情報イベントおよび致命的なイベントをそれぞれ設定します。
次に、有効な event を示します。
メンバープロセスがコアをダンプしました。
デフォルトでは、core イベントは情報です。
プロセス契約の最後のメンバーが終了しました。
メンバープロセスが終了しました。
プロセスがプロセス契約に追加されました。
メンバープロセスでハードウェアのエラーが発生しました。
デフォルトでは、hwerr イベントは致命的です。
メンバープロセスが別のプロセス契約のプロセスから致命的なシグナルを受け取りました。
致命的にできるのは、core、hwerr、および signal イベントのみです。
ctrun が独自の目的のためにイベントを必要とする場合は、要求されるよりも多くのイベントを提供できます。たとえば、contract の有効期間が指定された場合は、empty メッセージが常に要求されます。–l の解説を参照してください。
プロセス契約サービスの FMRI フィールドを設定します。このフィールドを設定するには、呼び出し元の実効セットに {PRIV_CONTRACT_IDENTITY} がある必要があります。
次の有効な lifetime の値がサポートされています。
契約が空であるかどうかに関係なく、コマンドが終了すると ctrun が終了します。
契約が終了した場合にのみ ctrun が終了します。これはデフォルトです。
ctrun がすぐに終了し、契約が孤立します。
次の option がサポートされています。
ホルダー (ctrun) が終了すると、契約のすべてのプロセスが強制終了されます。
有効期間に none が指定されている場合、このオプションは無効です。
致命的なエラーが発生した場合、エラーのあるプロセスがメンバーであるプロセスグループが強制終了されることがあります。
メンバープロセスによって破棄された場合、契約は継承可能な契約を継承します。
このオプションを指定すると、契約で障害が発生した場合に、コマンドを count 回再起動することが試みられます。count が 0 場合は、再起動が無限に試みられます。デフォルトでは、ctrun はコマンドの再起動を試みません。
contract ではない有効期間が指定されている場合、または pgrponly オプションが使用されている場合、このオプションは無効です。
ctrun によって作成された契約がメンバープロセスからサブ契約を継承した場合、再起動時にそれらを新しい契約に転送しようとします。
–r も指定されている場合を除き、このオプションは無効です。
契約イベントおよび ctrun のアクションを発生時に表示します。
ctwatch の –v オプションの表示と同様に詳細な契約イベントを表示します。–v が暗黙的に指定されます。
次のオペランドがサポートされています。
command への引数として扱われる文字列の 1 つ。
execvp(2) に渡されるコマンド。exec(2) を参照してください。
次の例では、新しいプロセス契約でシェルを実行しています。
example% ctrun -l child -o pgrponly ksh
ctrun がシェルのすべての子が終了するまで待たないように、–l child オプション引数が指定されています。–o pgrponly が指定されているのは、対話型の ksh では各ジョブが新しいプロセスグループに配置され、1 つのジョブのエラーがほかのジョブに影響しないと考えられるためです。
使用例 2 単純なサーバーの実行次の例では、単純なサーバーを実行しています。
example% ctrun -r 0 -t -f hwerr,core,signal server
–r 0 および –t オプションが指定されているのは、サーバーで致命的なエラーが発生した場合に ctrun が再起動を試みることを示すためです。–f オプションによって、「hwerr」、「core」、および「signal」が致命的なイベントになっています。
command が指定されて正常に呼び出された (exec(2) を参照) 場合、ctrun の終了ステータスは command の終了ステータスとなります。それ以外の場合、ctrun は次の値のいずれかで終了します。
子プロセスが異常終了しました。
ctrun で内部エラーが発生しました。
無効な引数が ctrun に指定されました。
command で示すコマンドユーティリティーは見つかったが呼び出すことができなかった。
コマンドが見つからなかった。
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
人間が読める形式の出力は「不確実」です。呼び出しは「確実」です。
ctstat(1)、ctwatch(1)、exec(2)、contract(5)、process(5)、attributes(7)