前へ | 次へ | 目次 | 索引 |
RAD が設定されていないバッチ・キューにジョブが発行された場合,ジョブは指定された RAD を使用して実行されます。バッチ・キューに RAD が設定されていた場合には,ジョブはそのキューに対して指定された RAD を使用して実行されます。
バッチ・ジョブに対して RAD を指定すると,ジョブ・コントローラは, $CREPRC home_rad 引数がジョブの RAD 値に設定されたプロセスを作成します。ジョブに対して指定された RAD がターゲット・システムで無効な場合には,ジョブの実行は失敗し,ジョブ・コントローラは,正しくない RAD が指定されたことを示すメッセージをオペレータ・コンソールに出力します。正しくない RAD 値がバッチ・キューの RAD 設定に一致した場合,バッチ・キューは停止し,ジョブはキューに残されます。
AlphaServer GS シリーズ・システム上でのみサポートされます。
ローカル・ノードの場合と異なり, 1つの SUBMIT/REMOTE コマンドによってキューに登録された複数のコマンド・プロシージャは,別々のジョブであると解釈されます。
/REMOTE 修飾子と同時に指定できるのは,次の修飾子だけです。
/BACKUP | /BEFORE | /BY_OWNER | /CONFIRM |
/CREATED | /EXCLUDE | /EXPIRED | /MODIFIED |
/SINCE |
以下のオプションを指定します。
SUBMIT コマンドで /NORETAIN 修飾子は使用できません (システム管理者は INITIALIZE/QUEUE, START/QUEUE や SET QUEUE コマンドで指定できます)が,/RETAIN=DEFAULT を指定できます。この場合,キューの保持ポリシーに従ってジョブは保持されます。システム管理者が,キューにジョブ保持を設定していなかった場合は,ジョブは保持されません。 |
ジョブ保持オプションは,ジョブ登録時の指定よりも実行キューの設定が優先されます。ジョブを汎用キューに登録した場合には,汎用キューの設定がジョブ登録時の設定に優先されます。
ジョブ保持設定は,汎用キューよりも実行キューの設定が優先されます。ただし,ジョブの終了状態が実行キューの保持設定に合致しない場合は,汎用キューの保持設定が適用されます。さらに,汎用キューの設定とも合致しない場合には,ジョブ登録時の指定が適用されます。実行キューに直接登録したジョブは,汎用キューの設定の影響を受けません。
ジョブは,実行キューの設定が適用されれば実行キュー内に,汎用キューのものが適用されれば汎用キュー内に,ジョブ登録時の指定が適用されればその登録されたキュー内に保持されます。
次の例は,キュー・マネージャがどのようにしてジョブを保持するかを示しています。
/RETAIN=ALWAYS 修飾子を指定して汎用キューにジョブを登録し,ジョブが正常終了したとします。
キュー・マネージャは,最初にジョブの終了状態を実行キューの保持設定と比較します。実行キューの保持設定が /RETAIN=ERROR( 正常終了でない時のみ保持する ) であるとすると,実行キューには保持されません。
次に,汎用キューの保持設定と比較します。汎用キューには保持設定が無かったとすると,汎用キューにも保持されません。
最後に,ジョブを登録したキューの保持設定と比較します。登録時の指定が /RETAIN=ALWAYS であるため,ジョブを登録したキュー (この場合には汎用キュー) に保持されます。
キューのタイプについては INITIALIZE/QUEUE コマンドの説明を,保持オプションについては INITIALIZE/QUEUE, START/QUEUE,および SET QUEUE コマンドの説明を参照してください。
UNTIL= 時間 オプションを使用すると,必要な間だけジョブを保持しておくことができます。これにより,ジョブを削除する手間が省けます。
たとえば次のコマンドでを入力すると,ジョブ MYFILE は 12 月 14 日 7 時 31 分まで保持されますが,その後削除されます。
$ SUBMIT/RETAIN=UNTIL=14-DEC-2001:07:31:0.0 MYFILE.COM |
キューのジョブ保持ポリシーの設定によっては,ジョブはずっと保持されるかもしれません。これは,キューのジョブ保持ポリシーの設定が,ジョブ登録時の保持指定に優先されるためです。システム管理者がキューに時限保持を設定することはできないので,キューの設定によって保持されたジョブが自動的に削除されることはありません。
/RETAIN=UNTIL= 時間 オプションを使用する場合は,必ず時間を指定してください。ここで指定した時間はデルタ時間,絶対時刻との組み合わせ,絶対時刻の順に解釈されます。デルタ時間はジョブ終了時を起点とします。たとえば,SUBMIT/RETAIN=UNTIL="+3:00" と指定すれば,ジョブ終了後 3 時間保持されます。時間の指定方法についての詳細は,『OpenVMS ユーザーズ・マニュアル』を参照してください。
時刻指定の詳細は,『OpenVMS ユーザーズ・マニュアル』,またはオンライン・ヘルプの DCL_Tips トピックの Date_Time を参照してください。
この修飾子のキーワードは CONDENSED および EXPANDED です。意味は次の表のとおりです。
キーワード | 説明 |
---|---|
CONDENSED
(省略時の設定) |
ファイル名を 255 文字長の文字列に適合するように表示します。このファイル名の場合,ファイル指定に DID あるいは FID 短縮形を含むことが可能です。 |
EXPANDED | ファイル名をディスクに格納されているとおりに表示します。このファイル名の場合,ファイル指定に DID あるいは FID 短縮形は含みません。 |
キーワード CONDENSED と EXPANDED を同時に指定することはできません。この修飾子は,確認が要求された場合に,出力メッセージに表示されるファイル名の書式を指定します。
EXPANDED キーワードが指定されていない場合,ファイル・エラーは CONDENSED ファイル指定で表示されます。
詳細は『OpenVMS ユーザーズ・マニュアル』を参照してください。
この修飾子を使用すると,他のユーザの代わりにジョブをキューに登録できます。ジョブは,ここで指定したユーザがキューに登録したときと同じように実行されます。また,ジョブはそのユーザのユーザ名と UIC を使って実行され,会計情報もそのユーザのアカウントに記録されます。この修飾子を指定しなかった場合には,ユーザ指定は,コマンドを要求しているプロセスと同じになります。ユーザ名として指定できるのは,システムに登録されているユーザ名だけです。ユーザ名は,1 〜 12文字の英数字です。
OpenVMS Alpha では 512 バイトのページレットの数で, OpenVMS VAX では 512 バイトのページの数で,n を指定します。 OpenVMS Alpha では,指定された値よりも実際に割り当てられる物理メモリが大きくなるように,最も近いその CPU 特有のページ値にこの値を切り上げます。 0 または NONE を指定した場合は, UAF の値またはキューに対して指定されている値が使用されます。ワーキング・セットの省略時の値は,システム・パラメータ PQL_MWSDEFAULT と WSMAX の範囲内でなければなりません。
OpenVMS Alpha では 512 バイトのページレットの数で, OpenVMS VAX では 512バイトのページの数で,n を指定します。 OpenVMS Alpha では,指定された値よりも実際に割り当てられる物理メモリが大きくなるように,最も近いその CPU 特有のページ値にこの値を切り上げます。 0 または NONE を指定した場合は, UAF の値またはキューに対して指定されている値が使用されます。ワーキング・セット超過値は,システム・パラメータ PQL_MWSEXTENT と WSMAX の範囲内でなければなりません。
OpenVMS Alpha では 512 バイトのページレットの数で, OpenVMS VAX では 512 バイトのページの数で,n を指定します。 OpenVMS Alpha では,指定された値よりも実際に割り当てられる物理メモリが大きくなるように,最も近いその CPU 特有のページ値にこの値を切り上げます。 0 または NONE を指定した場合は, UAF の値またはキューに対して指定されている値が使用されます。ワーキング・セット・クォータ値は,システム・パラメータ PQL_MWSQUOTA と WSMAX の範囲内でなければなりません。
#1 |
---|
$ SUBMIT/AFTER=16:30 TRANSLATE Job TRANSLATE (queue SYS$BATCH, entry 1401) holding until 14-DEC-2001 16:30 |
この例で,コマンド・プロシージャ TRANSLATE.COM は SYS$BATCH に登録されます。このコマンド・プロシージャは午後 4 字 30 分以降に実行されます。正常に終了すると,ログ・ファイル TRANSLATE.LOG は印刷のため SYS$PRINT に登録され,その後削除されます。
#2 |
---|
$ SUBMIT /PARAMETERS=(TXT,DOC,MEM) BACKUP, AVERAGE, RUNMASTER Job BACKUP (queue SYS$BATCH, entry 416) pending |
この例では,3 つのコマンド・プロシージャを 1 つのジョブとして登録します。ジョブには,3 つのパラメータが与えられます。P1 には TXT,P2 には DOC,また P3 には MEM という文字列がそれぞれ割り当てられています。 BACKUP.COM プロシージャが実行されたあと, AVERAGE.COM と RUNMASTER.COM というプロシージャが実行されます。
#3 |
---|
$ SUBMIT/NAME=BATCH24/HOLD TESTALL Job BATCH24 (queue SYS$BATCH, entry 467) holding |
この例では,TESTALL.COM プロシージャをバッチ・ジョブとしてキューに登録し,あとで処理するためにそのジョブを保留状態にします。このジョブは,SET QUEUE/ENTRY/RELEASE コマンドを実行するまで解放されません。 /NAME 修飾子は,バッチ・ジョブを BATCH24 として識別することを指定しています。
#4 |
---|
$ SUBMIT TEST.COM Job TEST (queue SYS$BATCH, entry 493) pending $ BATCH_JOB = $ENTRY . . . $ DELETE/ENTRY='BATCH_JOB' |
この例では,キュー・ファイル中の特定のジョブを識別するために,シンボル $ENTRY が使用されています。この SUBMIT コマンドは,コマンド・プロシージャ TEST.COM を実行するためのバッチ・ジョブを作成し,ジョブのエントリ番号 (この例では 493) を表すローカル・シンボル $ENTRY を割り当てています。 2 行目のコマンドは $ENTRY の値をローカル・シンボル BATCH_JOB に割り当て,最後のコマンドはシンボル BATCH_JOB を使用してバッチ・ジョブを削除しています。
#5 |
---|
$ DEFINE JUNE WORKZ:[SCHREURS]ANNUAL_REPORT.COM $ SUBMIT JUNE Job ANNUAL_REPORT (queue SYS$BATCH, entry 229) started on ZOO_BATCH |
この例では, DEFINE コマンドで論理名 JUNE を ANNUAL_REPORT.COM に定義しています。そして,この論理名を使用して ANNUAL_REPORT.COM をバッチ・キューに登録しています。ANNUAL_REPORT.COM がバッチ・キューに登録される前に,論理名 JUNE は ANNUAL_REPORT.COM に展開されます。また,ログ・ファイル名は JUNE.LOG ではなく, ANNUAL_REPORT.COM になります。
ジョブは汎用キュー SYS$BATCH に登録されていますが,実行キュー ZOO_BATCH で実行されている点に注意してください。
#6 |
---|
$ SUBMIT/HOLD/QUEUE=ANYRADQ /RAD=1 TEST.COM Job TEST (queue ANYRADQ, entry 23) holding $ SHOW ENTRY/FULL 23 Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 23 TEST SYSTEM Holding On idle batch queue ANYRADQ Submitted 24-JUL-2001 14:19:37.44 /KEEP /NOPRINT /PRIORITY=100 /RAD=0 File: _$1$DKB200:[SWEENEY.CLIUTL]TEST.COM;1 |
この例では,TEST.COM がキュー ANYRADQ に対して発行されます。 ANYRADQ キューには RAD は設定されていません。
#7 |
---|
$ SUBMIT/HOLD/QUEUE=BATCHQ1 /RAD=1 TEST.COM Job TEST (queue BATCHQ1, entry 24) holding $ SHOW ENTRY 24/FULL Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 24 TEST SYSTEM Holding On idle batch queue BATCHQ1 Submitted 24-JUL-2001 14:23:10.37 /KEEP /NOPRINT /PRIORITY=100 /RAD=0 File: _$1$DKB200:[SWEENEY.CLIUTL]TEST.COM;2 |
この例では,キュー BATCHQ1 は/RAD=0 と定義されています。したがって,SUBMIT コマンドを使用すると,RAD 1 が指定された場合でも, RAD 0 で実行するジョブが作成されます。
コマンド・プロシージャ内のサブルーチンの開始を定義します。 SUBROUTINE コマンドは,サブルーチンで最初の実行可能文でなければなりません。SUBROUTINE コマンドについての詳細は, CALL コマンドの説明を参照してください。
SUBROUTINE
指定したジョブの実行が終了するまで,このコマンドを発行したプロセスを保留します。指定したジョブへの削除(D) アクセス権が必要です。
SYNCHRONIZE [ジョブ名]
ジョブ名
ジョブをキューに登録した時に定義されたジョブ名を指定します。ユーザ名に対応するジョブ名だけを指定することができます。ジョブは,そのジョブをキューに登録したプロセスのユーザ名に対応付けられます。一意な名前を持たないジョブを指定するには, /ENTRY 修飾子を使用してエントリ番号を指定します。 ジョブ名パラメータと /ENTRY 修飾子の両方を指定すると, ジョブ名パラメータは無視されます。
ジョブ名パラメータを指定すると,SYNCHRONIZE コマンドは, SYS$BATCH キューを検索して指定された名前のジョブを探します。 SYS$BATCH 以外のキューにあるジョブを指定するためには, /QUEUE 修飾子を使用してキューの名前を指定しなければなりません。
SYNCHRONIZE コマンドを使用すると,指定したジョブの実行が終了するまでプロセスを待ち状態にして,ジョブを同期させることができます。指定したジョブがシステムで現在処理中のジョブでない場合,SYNCHRONIZE コマンドは,エラー・メッセージを表示します。SYNCHRONIZE コマンドで指定したジョブが終了すると,プロセスは待ち状態から解放されます。SYNCHRONIZE コマンドの終了状態は,ジョブの最後に実行されたコマンドの終了状態と同じです。 SYNCHRONIZE コマンドがコマンド・プロシージャの一部である場合に,終了状態を確実に知るためには,SYNCHRONIZE コマンドの前に SET NOON コマンドを, SYNCHRONIZE コマンドの直後に SHOW SYMBOL $STATUS を記述します。
ジョブ名パラメータまたは /ENTRY 修飾子のいずれかを指定しなければなりません。
/ENTRY=エントリ番号
システムが割り当てたエントリ番号で,ジョブを識別します。システムは,システム内のキューに登録されたプリント・ジョブおよびバッチ・ジョブに,一意なエントリ番号を割り当てます。省略時の設定では,PRINT および SUBMIT コマンドは,処理するジョブのキュー登録に成功した場合に,エントリ番号を表示します。これらのコマンドはローカル・シンボル $ENTRY を作成または更新して,最後にキューに登録されたジョブのエントリ番号を反映させます。 SHOW ENTRY または SHOW QUEUE コマンドを実行すると,ジョブのエントリ番号を確認することができます。 ジョブ名パラメータと /ENTRY 修飾子の両方を指定した場合,ジョブ名パラメータは無視されます。
/QUEUE=キュー名[:]
ジョブを含んでいるキュー名を指定します。 /QUEUE 修飾子を使用する場合は, ジョブ名パラメータまたは /ENTRY 修飾子のいずれかを指定しなければなりません。 ジョブ名パラメータを指定する場合,省略時の設定のキューは SYS$BATCH です。 /ENTRY 修飾子を指定する場合は,省略時の設定のキューはありません。汎用キューを指定すると,SYNCHRONIZE コマンドは,汎用キュー内および汎用キューが対象とする実行キュー内でジョブを検索します。
#1 |
---|
$ SUBMIT/NAME=PREP FORMAT/PARAMETERS=(SORT,PURGE) Job PREP (queue SYS$BATCH, entry 219) started on queue SYS$BATCH $ SUBMIT PHASER Job PHASER (queue SYS$BATCH, entry 223) started on queue SYS$BATCH |
この例で最初の SUBMIT コマンドは,コマンド・プロシージャ FORMAT.COM を実行するためにキューに登録し,そのジョブに PREP という名前をつけます。 2 番目の SUBMIT コマンドは,プロシージャ PHASER.COM をキューに登録します。 PHASER.COM は次の行を含んでいます。
$ SYNCHRONIZE PREP
この行が処理される時,システムは,PREP という名前のジョブが省略時の設定のキュー SYS$BATCH 内にあるかどうか確認します。プロシージャ PHASER.COM は,ジョブ PREP の実行が終了するまで強制的に待ち状態になります。
#2 |
---|
$ SUBMIT/NAME=TIMER COMP.COM Job TIMER (queue SYS$BATCH, entry 214) started on queue SYS$BATCH $ SYNCHRONIZE /ENTRY=214 |
前へ 次へ 目次 索引