OpenVMS
ユーザーズ・マニュアル


前へ 次へ 目次 索引


16.5.8 バッチ・ジョブの再開

バッチ・ジョブの実行中にシステムが異常終了した場合には,ジョブは完了しません。システムが回復してキューが再開されると,実行中のジョブは強制終了され,キューの中の次のジョブが実行されます。ただし,バッチ・ジョブをキューに登録するときに /RESTART 修飾子を指定しておけば,ジョブが終了する前にシステムがクラッシュしても,システムが復旧した後,そのジョブは再実行されます。

省略時の設定では,バッチ・ジョブは最初の行から再実行されます。コマンド・プロシージャにシンボルを追加すれば,別の場所から実行を再開できますが,これについては 第 13 章第 14 章 を参照してください。

システム・クラッシュ後のジョブの再開に加えて,ジョブを明示的に終了した後でもジョブを再開できます。ジョブを終了した後,同じキューまたは別のキューでジョブを再開するには,STOP/QUEUE/REQUEUE/ENTRY コマンドを使用します。

この例に示したコマンドは,SYS$BATCH のジョブ 212 を停止し,SYS$BATCH に再登録します。


$ STOP/QUEUE/REQUEUE/ENTRY=212 SYS$BATCH

このコマンドを入力するには,ジョブ 212 が SUBMIT コマンドに /RESTART 修飾子を指定して登録されていなければなりません。バッチ・ジョブを 2 度目に実行する場合,システムは,グローバル・シンボル BATCH$RESTART を使用してどこからジョブの実行を開始するかを判別します。

16.5.9 バッチ・ジョブ実行の同期化

コマンド・プロシージャの中で SYNCHRONIZE コマンドと WAIT コマンドを使用すれば,プロシージャを待ち状態に置くことができます。SYNNCHRONIZE コマンドを指定すると,プロシージャは指定されたジョブが完了するのを待ちますが,WAIT コマンドを指定すると,指定された時間が経過するのを待ちます。

SYNCHRONIZE コマンドでジョブ名を指定する場合は,同期化するジョブがユーザ名と対応している必要があります。通常ジョブは,そのジョブをキューに登録するプロセスのユーザ名と対応しています。異なるユーザ用のジョブを同期化するには,SYNCHRONIZE コマンドに /ENTRY 修飾子を付けて,ジョブ・エントリ番号を指定しなければなりません。

たとえば,2 つのジョブを同時にキューに登録して共同作業を行う場合,一方のジョブには次のコマンドを指定できます。


$ SYNCHRONIZE BATCH25 

このコマンドを実行すると,ジョブ名 BATCH25 を持つジョブの実行が完了するまで,コマンド・プロシージャの実行を継続できません。

この SYNCHRONIZE コマンドは,ジョブ 454 が完了するまで,現在のコマンド・プロシージャを待ち状態に置きます。


$ SYNCHRONIZE/ENTRY=454

図 16-1 は,並行して実行するためにキューに登録されたが,正しく実行するためには同期化しなければならないコマンド・プロシージャの例です。それぞれのプロシージャが大きなソース・プログラムをコンパイルします。

図 16-1 バッチ・ジョブ実行の同期化


例を確認するときは,次のことに注意してください。

  1. それぞれの SUBMIT コマンドで 2 つのジョブをキューに登録することが要求されている。最初のプロセスが作成される。

  2. FORTRAN コマンドの実行後,SYNCHRONIZE コマンドが実行される。ジョブ 315 が現在のジョブまたは待ち状態のジョブの場合には,ジョブ 314 は次のコマンドを実行しない。

  3. ジョブ 315 の実行が完了すると,ジョブ 314 は次のコマンドを実行する。

16.5.10 WAIT コマンドの使用方法

WAIT コマンドは,コマンド・プロシージャがディスクやテープ・ドライブなどの共用システム資源へアクセスしなければならない場合に便利です。

次の例は,テープ・ドライブの割り当てを要求するプロシージャです


$ TRY: 
$      ALLOCATE DM: RK: 
$      IF $STATUS THEN GOTO OKAY 
$      WAIT 00:05 
$      GOTO TRY 
$ OKAY: 
$ REQUEST/REPLY/TO=DISKS - 
     "Please mount BACK_UP_GMB on ''F$TRNLNM("RK")'" 
   .
   .
   .

WAIT コマンドが正常に終了しないと,プロシージャは待ち状態になります。5 分後に,要求を再試行します。

ALLOCATE 要求の後の IF コマンドは,$STATUS の値をチェックします。$STATUS の値が正常終了を示している場合には,コマンド・プロシージャは継続されますが,そうでない場合には,WAIT コマンドが実行されます。WAIT コマンドは,5 分の時間間隔を指定しています。5 分待機した後,次のコマンド GOTO が実行され,要求が繰り返されます。このプロシージャは,正常終了するまで,またはバッチ・ジョブが削除されるか終了されるまで,ループを繰り返し,デバイスを割り当てようとします。


付録 A
文字セット

DEC 各国語文字セット(MCS)は,Digital Equipment Corporation で作成され使用された 00〜FF の 16 進数で表現される文字の定義から成ります。DEC MCS は,7 ビットの(00〜7F の 16 進数で表現される)ASCII 文字セットと,80〜FF の 16 進数で表現される 8 ビット文字のセットの 2 つに分類されます。DEC MCS は,Digital Equipment Corporation で作成され販売されたソフトウェアのほとんどのユーザにとって使い慣れている文字セットです。

Unicode Standard Character Set(UCS-2)は,Unicode Consortium によって定義された,0000〜FFFF の値で表現される 16 ビット文字のセットです。

ISO Latin-1 文字セットは,00〜FF の 16 進数で表現される 8 ビット文字の UCS-2 の定義です。ISO Latin-1 文字セットの定義は,80〜FF の 16 進数から成る DEC MCS の定義とは少し異なります。

表 A-1 には,DEC 各国語文字セット(MCS)が示されています。表 A-1 は,2 種類の文字セットでの文字の違いを示し,図 A-1 は,異なっている文字を示しています。

表 A-2 には,DCL 文字セットが示されています。

Unicode(UCS-2)文字セットについての詳細は,Unicode Consortium から発行されている『 The Unicode Standard 』を参照してください。

表 A-1 DEC 各国語文字セット
16 進数のコード MCS 文字
または短縮形
DEC 各国語文字名
ASCII 制御文字1
00 NUL 空文字
01 SOH ヘッダの始点(Ctrl/A)
02 STX テキストの始点(Ctrl/B)
03 ETX テキストの終端(Ctrl/C)
04 EOT 転送の終端(Ctrl/D)
05 ENQ 問い合わせ(Ctrl/E)
06 ACK 肯定応答(Ctrl/F)
07 BEL ベル(Ctrl/G)
08 BS バックスペース(Ctrl/H)
09 HT 水平タブ(Ctrl/I)
0A LF ライン・フィード(Ctrl/J)
0B VT 垂直タブ(Ctrl/K)
0C FF フォーム・フィード(Ctrl/L)
0D CR キャリッジ・リターン(Ctrl/M)
0E SO シフト・アウト(Ctrl/N)
0F SI シフト・イン(Ctrl/O)
10 DLE データ・リンク・エスケープ(Ctrl/P)
11 DC1 デバイス制御 1(Ctrl/Q)
12 DC2 デバイス制御 2(Ctrl/R)
13 DC3 デバイス制御 3(Ctrl/S)
14 DC4 デバイス制御 4(Ctrl/T)
15 NAK 否定応答(Ctrl/U)
16 SYN 同期アイドル(Ctrl/V)
17 ETB 転送ブロックの終端(Ctrl/W)
18 CAN 取り消し(Ctrl/X)
19 EM 媒体の終端(Ctrl/Y)
1A SUB 置換(Ctrl/Z)
1B ESC エスケープ
1C FS ファイル区切り文字
1D GS グループ区切り文字
1E RS レコード区切り文字
1F US ユニット区切り文字
ASCII 特殊文字および数値文字
20 SP スペース
21 ! 感嘆符
22 " 引用符(二重引用符)
23 # ポンド記号
24 $ ドル記号
25 % パーセント記号
26 & アンパサンド
27 ' アポストロフィ(一重引用符)
28 ( 左括弧
29 ) 右括弧
2A * アスタリスク
2B + 正符号
2C , コンマ
2D -- ハイフンまたは負符号
2E . ピリオドまたは小数点
2F / スラッシュ
30 0 ゼロ
31 1 1
32 2 2
33 3 3
34 4 4
35 5 5
36 6 6
37 7 7
38 8 8
39 9 9
3A : コロン
3B ; セミコロン
3C < 不等号(左辺は右辺より小さい)
3D = 等号
3E > 不等号(左辺は右辺より大きい)
3F ? 疑問符
ASCII 英文字
40 @ アットマーク
41 A 大文字の A
42 B 大文字の B
43 C 大文字の C
44 D 大文字の D
45 E 大文字の E
46 F 大文字の F
47 G 大文字の G
48 H 大文字の H
49 I 大文字の I
4A J 大文字の J
4B K 大文字の K
4C L 大文字の L
4D M 大文字の M
4E N 大文字の N
4F O 大文字の O
50 P 大文字の P
51 Q 大文字の Q
52 R 大文字の R
53 S 大文字の S
54 T 大文字の T
55 U 大文字の U
56 V 大文字の V
57 W 大文字の W
58 X 大文字の X
59 Y 大文字の Y
5A Z 大文字の Z
5B [ 左大括弧
5C \ バックスラッシュ
5D ] 右大括弧
5E ^ サーカンフレックス
5F _ アンダースコア
60 ` 低アクセント
61 a 小文字の a
62 b 小文字の b
63 c 小文字の c
64 d 小文字の d
65 e 小文字の e
66 f 小文字の f
67 g 小文字の g
68 h 小文字の h
69 i 小文字の i
6A j 小文字の j
6B k 小文字の k
6C l 小文字の l
6D m 小文字の m
6E n 小文字の n
6F o 小文字の o
70 p 小文字の p
71 q 小文字の q
72 r 小文字の r
73 s 小文字の s
74 t 小文字の t
75 u 小文字の u
76 v 小文字の v
77 w 小文字の w
78 x 小文字の x
79 y 小文字の y
7A z 小文字の z
7B { 左中括弧
7C | 縦線
7D } 右中括弧(ALTMODE)
7E ~ チルダ(ALTMODE)
7F DEL 削除(DELETE)
制御文字
80   [予約領域]
81   [予約領域]
82   [予約領域]
83   [予約領域]
84 IND 索引
85 NEL 次の行
86 SSA 選択領域の始点
87 ESA 選択領域の終端
88 HTS 水平タブの設定
89 HTJ 行揃えを使用した水平タブの設定
8A VTS 垂直タブの設定
8B PLD 行単位での部分的な下方向への移動
8C PLU 行単位での部分的な上方向への移動
8D RI 逆方向の索引
8E SS2 シングル・シフト 2
8F SS3 シングル・シフト 3
90 DCS デバイス制御文字列
91 PU1 プライベート使用 1
92 PU2 プライベート使用 2
93 STS 転送状態の設定
94 CCH 文字の取り消し
95 MW メッセージの待機
96 SPA 保護領域の始点
97 EPA 保護領域の終端
98   [予約領域]
99   [予約領域]
9A   [予約領域]
9B CSI 制御シーケンス・イントロデューサ
9C ST 文字列終了文字列
9D OSC オペレーティング・システム・コマンド
9E PM プライバシー・メッセージ
9F APC アプリケーション
その他の文字
A0   [予約領域]2
A1 ¡ 逆感嘆符
A2 ¢ セント記号
A3 £ 貨幣のポンド記号
A4   [予約領域]2
A5 ¥ 円記号
A6   [予約領域]2
A7 § セクション記号
A8 ¤ 一般貨幣記号2
A9 © 著作権記号
AA ª 女性形序数指示子
AB « 左角引用符
AC   [予約領域]2
AD   [予約領域]2
AE   [予約領域]2
AF   [予約領域]2
B0 ° 温度記号
B1 ± 正負符号
B2 ² スーパースクリプト 2
B3 ³ スーパースクリプト 3
B4   [予約領域]2
B5 µ ミクロ記号
B6 段落記号,段落標
B7 · 中黒
B8   [予約領域]2
B9 ¹ スーパースクリプト 1
BA º 男性形序数指示子
BB » 右角引用符
BC ¼ 小数部四分の一
BD ½ 小数部二分の一
BE   [予約領域]2
BF ¿ 逆疑問符
C0 À 低アクセント付きの大文字の A
C1 Á 鋭アクセント付きの大文字の A
C2 Â サーカンフレックス付きの大文字の A
C3 Ã チルダ付きの大文字の A
C4 Ä ウムラウト付きの大文字の A(分音符号)
C5 Å リング付きの大文字の A
C6 Æ 二重母音化した大文字の AE
C7 Ç セディーユ付きの大文字の C
C8 È 低アクセント付きの大文字の E
C9 É 鋭アクセント付きの大文字の E
CA Ê サーカンフレックス付きの大文字の E
CB Ë ウムラウト付きの大文字の E(分音符号)
CC Ì 低アクセント付きの大文字の I
CD Í 鋭アクセント付きの大文字の I
CE Î サーカンフレックス付きの大文字の I
CF Ï ウムラウト付きの大文字の I(分音符号)
D0   [予約領域]2
D1 Ñ チルダ付きの大文字の N
D2 Ò 低アクセント付きの大文字の O
D3 Ó 鋭アクセント付きの大文字の O
D4 Ô サーカンフレックス付きの大文字の O
D5 Õ チルダ付きの大文字の O
D6 Ö ウムラウト付きの大文字の O(分音符号)
D7 OE 合字の大文字の OE 2
D8 Ø スラッシュ付きの大文字の O
D9 Ù 低アクセント付きの大文字の U
DA Ú 鋭アクセント付きの大文字の U
DB Û サーカンフレックス付きの大文字の U
DC Ü ウムラウト付きの大文字の U(分音符号)
DD Y ウムラウト付きの大文字の Y(分音符号)
DE   [予約領域] 2
DF ß ドイツ語固有のエスツェット
E0 à 低アクセント付きの小文字の a
E1 á 鋭アクセント付きの小文字の a
E2 â サーカンフレックス付きの小文字の a
E3 ã チルダ付きの小文字の a
E4 ä ウムラウト付きの小文字の a(分音符号)
E5 å リング付きの小文字の a
E6 æ 二重母音の小文字の ae
E7 ç セディーユ付きの小文字の c
E8 è 低アクセント付きの小文字の e
E9 é 鋭アクセント付きの小文字の e
EA ê サーカンフレックス付きの小文字の e
EB ë ウムラウト付きの小文字の e(分音符号)
EC ì 低アクセント付きの小文字の i
ED í 鋭アクセント付きの小文字の i
EE î サーカンフレックス付きの小文字の i
EF ï ウムラウト付きの小文字の i(分音符号)
F0   [予約領域] 2
F1 ñ チルダ付きの小文字の n
F2 ò 低アクセント付きの小文字の o
F3 ó 鋭アクセント付きの小文字の o
F4 ô サーカンフレックス付きの小文字の o
F5 õ チルダ付きの小文字の o
F6 ö ウムラウト付きの小文字の o(分音符号)
F7 oe 合字の小文字の oe2
F8 ø スラッシュ付きの小文字の o
F9 ù 低アクセント付きの小文字の u
FA ú 鋭アクセント付きの小文字の u
FB û サーカンフレックス付きの小文字の u
FC ü ウムラウト付きの小文字の u(分音符号)
FD ÿ ウムラウト付きの小文字の y(分音符号)2
FE   [予約領域]2
FF   [予約領域]2


1 ALTMODE 文字および DELETE 文字(10 進数の 125,126,および 127)も,制御文字です。
2 ISO Latin-1 では別の文字です。図 A-1 を参照してください。

図 A-1 Differences Between DEC Multinational Character Set and ISO Latin-1 Character Set


表 A-2 DCL 文字セット
シンボル 名前 意味
@ アットマーク コマンド・プロシージャ・ファイルの内容をコマンド入力ストリームに収める。
: コロン ファイル指定の中のデバイス名の区切り文字。ダブルコロン(::)はノード名区切り文字。コロンは修飾子区切り文字としても使用でき,修飾子名とその値とを分割する。
/ スラッシュ 修飾子の接頭辞。
+ プラス記号 パラメータのセパレータ。一部のコマンドでは,パラメータの連結子として働く。文字列連結演算子,単項プラス記号,数値式の中の補足演算子としても認識される。
, コンマ パラメータまたは引数リストのリスト要素のセパレータ。
- ハイフン 継続文字。文字列分割演算子,単項マイナス記号,数値式の中の減算演算子,およびディレクトリ検索ワイルドカード文字としても認識される。
() 括弧 引数リストのリスト区切り文字。数値式の中で演算順序を示すときにも使用される。
[ ] 大括弧 ファイル指定の中のディレクトリ名の区切り文字。山括弧に等しい。
<> 山括弧 ファイル指定の中のディレクトリ名の区切り文字。大括弧に等しい。
? 疑問符 ヘルプ文字。
& アンパサンド 実行時置換演算子。これ以外の場合には,予備の特殊文字。
\ バックスラッシュ 予備の特殊文字。
= 等号 修飾子値の区切り文字。修飾子名と引数とを分割する。等号(=)は,シンボル定義での割り当て文としても利用される。
^ サーカンフレックス 予備の特殊文字。
# 番号記号 予備の特殊文字。
* アスタリスク ファイル指定の中のワイルドカード文字。数値式の中の乗算演算子ならびにシンボル定義の中の短縮形区切り文字としても使用される。
' 一重引用符 置換演算子。
. ピリオド ファイル指定の中のファイル・タイプとバージョン番号区切り文字。サブディレクトリ区切り文字としても使用される。
; セミコロン ファイル指定の中のバージョン番号区切り文字。
% パーセント記号 ファイル指定の中のワイルドカード文字。基数演算子としても使用される。
! 感嘆符 コメントを示す。
" 二重引用符 リテラル文字列区切り文字。


前へ 次へ 目次 索引