'\" te .\" Copyright (c) 2010, Sun Microsystems, Inc. All Rights Reserved .TH ctrun 1 "2010 年 3 月 22 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 ctrun \- プロセス契約のコマンドの実行 .SH 形式 .LP .nf \fB/usr/bin/ctrun\fR [\fIoptions\fR] \fIcommand\fR [ \fIargument\fR]... .fi .SH 機能説明 .sp .LP \fBctrun\fR ユーティリティーは新しく作成されたプロセス契約のコマンドを開始します。\fBctrun\fR は契約を保持し、契約内で発生したイベントを出力したり、応答したりするように指示できます。 .sp .LP プロセス契約の詳細は、\fBcontract\fR(4) および \fBprocess\fR(4) を参照してください。 .SH オプション .sp .LP サポートしているオプションは、次のとおりです。 .sp .ne 2 .mk .na \fB\fB-A\fR \fIaux\fR\fR .ad .RS 26n .rt プロセス契約作成者の補助フィールドを設定します。 .RE .sp .ne 2 .mk .na \fB\fB-i\fR \fIevent\fR,[\fIevent\fR ...]\fR .ad .br .na \fB\fB-f\fR \fIevent\fR,[\fIevent\fR ...]\fR .ad .RS 26n .rt 情報イベントおよび致命的なイベントをそれぞれ設定します。 .sp 次に、有効な \fIevent\fR を示します。 .sp .ne 2 .mk .na \fB\fBcore\fR\fR .ad .RS 10n .rt メンバープロセスがコアをダンプしました。 .sp デフォルトでは、\fBcore\fR イベントは情報です。 .RE .sp .ne 2 .mk .na \fB\fBempty\fR\fR .ad .RS 10n .rt プロセス契約の最後のメンバーが終了しました。 .RE .sp .ne 2 .mk .na \fB\fBexit\fR\fR .ad .RS 10n .rt メンバープロセスが終了しました。 .RE .sp .ne 2 .mk .na \fB\fBfork\fR\fR .ad .RS 10n .rt プロセスがプロセス契約に追加されました。 .RE .sp .ne 2 .mk .na \fB\fBhwerr\fR\fR .ad .RS 10n .rt メンバープロセスでハードウェアのエラーが発生しました。 .sp デフォルトでは、\fBhwerr\fR イベントは致命的です。 .RE .sp .ne 2 .mk .na \fB\fBsignal\fR\fR .ad .RS 10n .rt メンバープロセスが別のプロセス契約のプロセスから致命的なシグナルを受け取りました。 .RE 致命的にできるのは、\fBcore\fR、\fBhwerr\fR、および \fBsignal\fR イベントのみです。 .sp \fBctrun\fR が独自の目的のためにイベントを必要とする場合は、要求されるよりも多くのイベントを提供できます。たとえば、\fBcontract\fR の有効期間が指定された場合は、\fBempty\fR メッセージが常に要求されます。\fB-l\fR の解説を参照してください。 .RE .sp .ne 2 .mk .na \fB\fB-F\fR \fIfmri\fR\fR .ad .RS 26n .rt プロセス契約サービスの \fBFMRI\fR フィールドを設定します。このフィールドを設定するには、呼び出し元の実効セットに \fB{PRIV_CONTRACT_IDENTITY}\fR がある必要があります。 .RE .sp .ne 2 .mk .na \fB\fB-l\fR \fIlifetime\fR\fR .ad .RS 26n .rt 次の有効な \fIlifetime\fR の値がサポートされています。 .sp .ne 2 .mk .na \fB\fBchild\fR\fR .ad .RS 12n .rt 契約が空であるかどうかに関係なく、コマンドが終了すると \fBctrun\fR が終了します。 .RE .sp .ne 2 .mk .na \fB\fBcontract\fR\fR .ad .RS 12n .rt 契約が終了した場合にのみ \fBctrun\fR が終了します。これはデフォルトです。 .RE .sp .ne 2 .mk .na \fB\fBnone\fR\fR .ad .RS 12n .rt \fBctrun\fR がすぐに終了し、契約が孤立します。 .RE .RE .sp .ne 2 .mk .na \fB\fB-o\fR \fIoption\fR,[\fIoption\fR ...]\fR .ad .RS 26n .rt 次の \fIoption\fR がサポートされています。 .sp .ne 2 .mk .na \fB\fBnoorphan\fR\fR .ad .RS 12n .rt ホルダー (\fBctrun\fR) が終了すると、契約のすべてのプロセスが強制終了されます。 .sp 有効期間に \fBnone\fR が指定されている場合、このオプションは無効です。 .RE .sp .ne 2 .mk .na \fB\fBpgrponly\fR\fR .ad .RS 12n .rt 致命的なエラーが発生した場合、エラーのあるプロセスがメンバーであるプロセスグループが強制終了されることがあります。 .RE .sp .ne 2 .mk .na \fB\fBregent\fR\fR .ad .RS 12n .rt メンバープロセスによって破棄された場合、契約は継承可能な契約を継承します。 .RE .RE .sp .ne 2 .mk .na \fB\fB-r\fR \fIcount\fR\fR .ad .RS 26n .rt このオプションを指定すると、契約で障害が発生した場合に、コマンドを \fIcount\fR 回再起動することが試みられます。\fIcount\fR が \fB0\fR 場合は、再起動が無限に試みられます。デフォルトでは、\fBctrun\fR はコマンドの再起動を試みません。 .sp \fBcontract\fR ではない有効期間が指定されている場合、または \fBpgrponly\fR オプションが使用されている場合、このオプションは無効です。 .RE .sp .ne 2 .mk .na \fB\fB-t\fR\fR .ad .RS 26n .rt \fBctrun\fR によって作成された契約がメンバープロセスからサブ契約を継承した場合、再起動時にそれらを新しい契約に転送しようとします。 .sp \fB-r\fR も指定されている場合を除き、このオプションは無効です。 .RE .sp .ne 2 .mk .na \fB\fB-v\fR\fR .ad .RS 26n .rt 契約イベントおよび \fBctrun\fR のアクションを発生時に表示します。 .RE .sp .ne 2 .mk .na \fB\fB-V\fR \fR .ad .RS 26n .rt \fBctwatch\fR の \fB-v\fR オプションの表示と同様に詳細な契約イベントを表示します。\fB-v\fR が暗黙的に指定されます。 .RE .SH オペランド .sp .LP 次のオペランドがサポートされています。 .sp .ne 2 .mk .na \fB\fIargument\fR\fR .ad .RS 12n .rt \fIcommand\fR への引数として扱われる文字列の 1 つ。 .RE .sp .ne 2 .mk .na \fB\fIcommand\fR\fR .ad .RS 12n .rt \fBexecvp\fR(2) に渡されるコマンド。\fBexec\fR(2) を参照してください。 .RE .SH 使用例 .LP \fB例 1 \fR新しいプロセス契約でのシェルの実行 .sp .LP 次の例では、新しいプロセス契約でシェルを実行しています。 .sp .in +2 .nf example% ctrun -l child -o pgrponly ksh .fi .in -2 .sp .sp .LP \fBctrun\fR がシェルのすべての子が終了するまで待たないように、\fB-l\fR \fBchild\fR オプション引数が指定されています。\fB-o\fR \fBpgrponly\fR が指定されているのは、対話型の \fBksh\fR では各ジョブが新しいプロセスグループに配置され、1 つのジョブのエラーがほかのジョブに影響しないと考えられるためです。 .LP \fB例 2 \fR単純なサーバーの実行 .sp .LP 次の例では、単純なサーバーを実行しています。 .sp .in +2 .nf example% \fBctrun -r 0 -t -f hwerr,core,signal server\fR .fi .in -2 .sp .sp .LP \fB-r\fR \fB0\fR および \fB-t\fR オプションが指定されているのは、サーバーで致命的なエラーが発生した場合に \fBctrun\fR が再起動を試みることを示すためです。\fB-f\fR オプションによって、「\fBhwerr\fR」、「\fBcore\fR」、および「\fBsignal\fR」が致命的なイベントになっています。 .SH 終了ステータス .sp .LP \fIcommand\fR が指定されて正常に呼び出された (\fBexec\fR(2) を参照) 場合、\fBctrun\fR の終了ステータスは \fIcommand\fR の終了ステータスとなります。それ以外の場合、\fBctrun\fR は次の値のいずれかで終了します。 .sp .ne 2 .mk .na \fB\fB123\fR\fR .ad .RS 7n .rt 子プロセスが異常終了しました。 .RE .sp .ne 2 .mk .na \fB\fB124\fR\fR .ad .RS 7n .rt \fBctrun\fR で内部エラーが発生しました。 .RE .sp .ne 2 .mk .na \fB\fB125\fR\fR .ad .RS 7n .rt 無効な引数が \fBctrun\fR に指定されました。 .RE .sp .ne 2 .mk .na \fB\fB126\fR\fR .ad .RS 7n .rt \fIcommand\fR で示すコマンドユーティリティーは見つかったが呼び出すことができなかった。 .RE .sp .ne 2 .mk .na \fB\fB127\fR\fR .ad .RS 7n .rt \fIコマンドが見つからなかった。\fR .RE .SH ファイル .sp .ne 2 .mk .na \fB\fB/system/contract/process/*\fR\fR .ad .RS 30n .rt .RE .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os _ インタフェースの安定性下記を参照。 .TE .sp .LP 人間が読める形式の出力は「不確実」です。呼び出しは「確実」です。 .SH 関連項目 .sp .LP \fBctstat\fR(1)、\fBctwatch\fR(1)、\fBexec\fR(2)、\fBcontract\fR(4)、\fBprocess\fR(4)、\fBattributes\fR(5)