日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V8.3
ライブラリ

タイトルページ
目次
まえがき
第 1 章:リファレンス・セクション
付録 A:廃止されたコマンド
索引
PDF    Vol.1   Vol.2
OpenVMS ホーム

HP OpenVMS
DCL ディクショナリ


目次 索引




グローバル・シンボル 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 は再実行されません。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項