前へ | 次へ | 目次 | 索引 |
グローバル・シンボル BATCH$RESTART を設定します。このグローバル・シンボルは,実行が中断されたバッチ・ジョブを再起動する場所を定義します。 SET RESTART_VALUE コマンドは,コマンド・プロシージャ中でのみ有効です。
SET RESTART_VALUE =文字列
文字列
バッチ・ジョブが再起動された際に処理が始まる位置を指定する,ラベル値を指定します。文字列は最大 255 文字の長さです。
SET RESTART_VALUE コマンドは,再起動できるコマンド・プロシージャの中で使用します。再起動できるコマンド・プロシージャとは,バッチ・モードで実行するために, SUBMIT/RESTART コマンドで登録されたコマンド・プロシージャのことです。 SET RESTART_VALUE は,グローバル・シンボル BATCH$RESTART に値を割り当てます。これは,バッチ・ジョブの実行が中断された後に再起動されるべき位置を示します。再起動可能なコマンド・プロシージャを書く場合には,コマンド・プロシージャの中の再起動可能な始点をラベルで始めてください。ラベルの後で SET RESTART_VALUE コマンドを使用して,シンボル BATCH$RESTART にラベルと等しい文字列を割り当てます。システム・クラッシュにより中断されたバッチ・ジョブを再起動すると,コマンド・プロシージャは, BATCH$RESTART で示されるラベルから実行を再開できます。
SET RESTART_VALUE コマンドは,予約されているグローバル・シンボル $RESTART とともに使用します。 $RESTART は,システムにより管理され削除できない特殊なシンボルです。バッチ・ジョブを再起動すると,$RESTART の値は TRUE になります。そうでない場合,$RESTART の値は FALSE になります。
再起動可能なコマンド・プロシージャの先頭で,予約されているグローバル・シンボル $RESTART の値をテストしてください。 $RESTART が TRUE の場合は,転送ラベルにシンボル BATCH$RESTART を使用して GOTO 文を実行してください。バッチ・ジョブが中断される前に SET RESTART_VALUE コマンドが実行されていなかった場合は,シンボル BATCH$RESTART には定義がなく,バッチ・ジョブを先頭から再起動する必要があります。
システム障害の場合,ほとんどのプロセス環境は維持されません。システム障害においても維持されるシンボルは, $RESTART および BATCH$RESTART だけです。したがって,各 SET RESTART_VALUE コマンドの後で,コマンド・プロシージャで使用するシンボルまたはプロセスの論理名を再定義する必要があります。
コマンド・プロシージャに SET RESTART_VALUE コマンドがあるが,ジョブを最初から実行したい場合には, SET ENTRY/NOCHECKPOINT コマンドを入力してグローバル・シンボル BATCH$RESTART を削除します。
#1 |
---|
$ IF $RESTART THEN GOTO 'BATCH$RESTART' . . . $ FIRSTPART: $ SET RESTART_VALUE = FIRSTPART $ RUN PART1 . . . $ SECONDPART: $ SET RESTART_VALUE = SECONDPART $ RUN PART2 . . . |
最初のコマンドで,$RESTART が真ならば, BATCH$RESTART で表されるラベルへ制御を移します。 $RESTART は,クラッシュ等でジョブが再実行している場合のみ真となります。
最初の SET RESTART_VALUE コマンドで,ラベル FIRSTPART をシンボルBATCH$RESTART に代入しています。そしてすぐに PART1.EXE を起動しています。
2 番目の SET RESTART_VALUE コマンドでは,ラベル SECONDPART をシンボル BATCH$RESTART に代入しています。そして PART2.EXE を起動しています。
ジョブが SUBMIT/RESTART コマンドで最初に登録された時には, $RESTARTの値は FALSE なので,IF 文は無視されます。 PART1.EXE 実行中にジョブが停止した場合,BATCH$RESTART の値は FIRSTPART です。ジョブの再起動時には $RESTART の値が TRUE となり, IF 文が実行されて制御はラベル FIRSTPART へ移され,PART1.EXE が再実行されます。
PART2.EXE 実行中にジョブが停止した場合,BATCH$RESTART の値は SECONDPART です。ジョブの再実行時には $RESTART の値が TRUE となり, IF-GOTO コマンドにより制御はラベル SECONDPART へ移され, PART2.EXE が再実行されます。PART1.EXE は再実行されません。
ユーザが,プロセス権利リストまたはシステム権利リストを修正することを許可します。 SET RIGHTS_LIST コマンドには, /DISABLE か /ENABLE 修飾子のいずれかを指定しなければなりません。
SET RIGHTS_LIST 識別子名[,...]
識別子名[,...]
プロセス権利リストまたはシステム権利リストに追加,あるいは削除する識別子を指定します。識別子名は 1 〜 31 文字の英数字,アンダースコア (_),およびドル記号 ($) からなる文字列です。それぞれの名前は,少なくとも1つの非数字を含んでいなければなりません。
SET RIGHTS_LIST コマンドは,現在のプロセスの権利リスト,システム上の他のプロセスの権利リスト,またはシステム権利リストの中の識別子を変更します。それぞれの場合に必要な特権を知るには,次のガイドラインを使用してください。
- プロセス権利リストに DYNAMIC 属性を持たない識別子を新たに追加したり変更するには,CMKRNL( カーネルへのモード変更 ) 特権が必要です。
- システム上の他のプロセス権利リストを変更するには, CMKRNL 特権,および GROUP または WORLD 特権のいずれかが必要です。
- システム権利リストを変更するには, CMKRNL および SYSNAM( システム論理名 ) 特権の両方が必要です。
- 1 つのコマンドで /ENABLE 修飾子あるいは /DISABLE 修飾子を使用して 10 よりも多くの識別子を追加あるいは削除する場合は,CMKRNL 特権を必要とします。 SET RIGHTS_LIST コマンドでは, /DISABLE あるいは /ENABLE 修飾子のいずれか一方だけを指定しなければなりません。
このコマンドは,既存の識別子に属性を追加するためにも使用できます。
/ATTRIBUTES=(キーワード[,...])
識別子に割り当てる属性を指定します。属性は,新しいあるいは既存の識別子に加えられてもかまいません。有効なキーワードは次のとおりです。
DYNAMIC 非特権の識別子保有者が,識別子をプロセス権利リストに加えたり,もしくは削除できることを指定する。 NOACCESS 識別子のアクセス権を全て無効にします。ユーザがアクセス無し属性の識別子を持っている場合,その識別子はユーザのオブジェクトに対するアクセス権自体には影響を与えません。この識別子は RESOURCE/SU BSYSTEM 属性に対するモディファイアとして機能します。 RESOURCE 識別子保有者が,資源を請求できることを指定する。 SUBSYSTEM 識別子を持ったユーザがアプリケーションにサブシステム ACE を付加して保護サブシステムの作成/維持を行えるようになります。ファイル・オブジェクトに対してのみ有効です。
識別子から属性を除去するためには,属性キーワードに NO という接頭語を加えてください。たとえば資源属性を除去するには,/ATTRIBUTE=NORESOURCEを指定します。
省略時は,権利データベースの中の現在のプロセスのものを使用します。現在のプロセスの属性を確認するためには, SHOW PROCESS/RIGHTS コマンドを使用してください。
/DISABLE
プロセス権利リストあるいはシステム権利リストから,識別子を削除します。 /DISABLE 修飾子と /ENABLE 修飾子を同時に指定することはできません。 1 つのコマンドで 10 よりも多くの識別子を削除する場合は, CMKRNL 特権を必要とすることに注意してください。/ENABLE
プロセス権利リストあるいはシステム権利リストに,識別子を追加します。 /ENABLE 修飾子と /DISABLE 修飾子を同時に指定することはできません。 1 つのコマンドで 10 よりも多くの識別子を追加する場合は, CMKRNL 特権を必要とすることに注意してください。/IDENTIFICATION=プロセス識別子(PID)
権利リストが修正されるプロセスの,プロセス識別子(PID)を指定します。 PID は,プロセスが作成されるとき,システムによって割り当てられます。 PID を指定するときには,先行するゼロを省略することができます。/IDENTIFICATION 修飾子は,/PROCESS 修飾子をともに指定することはできません。 /IDENTIFICATION 修飾子も /PROCESS 修飾子も指定されないときは,権利リストの修正は,現在のプロセスに適用されます。 /SYSTEM修飾子と /IDENTIFICATION 修飾子を同時に指定することはできません。
/PROCESS[=プロセス名]
権利リストが修正されるプロセスの名前を指定します。プロセス名は 1 文字から 15 文字の英数字です。/PROCESS 修飾子と/IDENTIFICATION 修飾子をともに指定することはできません。 /PROCESS 修飾子も /IDENTIFICATION 修飾子も指定されないときは,省略時の設定として,権利リストの修正は現在のプロセスに適用されます。
/SYSTEM 修飾子と /PROCESS 修飾子を同時に指定することはできません。
/SYSTEM
システム権利リストを操作 ( 識別子の追加や削除 ) します。 /PROCESS 修飾子や /PROCESS 修飾子と同時に指定することはできません。
#1 |
---|
$ SET RIGHTS_LIST/ENABLE/ATTRIBUTES=RESOURCE MARKETING |
現在のプロセスのプロセス権利リストに,MARKETING という識別子を加えます。資源属性の指定により,識別子 MARKETING の保有者が資源を請求することを認めます。
#2 |
---|
$ SET RIGHTS_LIST/ENABLE/SYSTEM PHYSICS101 %SYSTEM-F-NOPRIV, insufficient privilege or object protection violation $ SET PROCESS/PRIVILEGES=(CMKRNL,SYSNAM) $ SET RIGHTS_LIST/ENABLE/SYSTEM PHYSICS101 |
システム権利リストに識別子 PHYSICS101 を加えます。システム権利リストを修正するためには, CMKRNL と SYSNAM 特権の両方を持っていなければなりません。
前へ | 次へ | 目次 | 索引 |