7.3.42 SPOOLJOB_CHILDJOBパラメーター(子孫ジョブのスプールジョブの扱いを定義する)
形式
#-adsh_conf SPOOLJOB_CHILDJOB {MERGE|DELETE}
機能
子孫ジョブの終了時に,子孫ジョブのスプールジョブを削除するか,ルートジョブのスプールジョブにマージするかを選択します。
オペランド
- MERGE
-
子孫ジョブの終了時に,子孫ジョブのスプールジョブをルートジョブのスプールジョブにマージします。これによって次のように動作します。
-
子孫ジョブのジョブ実行ログがルートジョブのジョブ実行ログにマージされ,子孫ジョブが終了した順に出力されます。
-
ルートジョブのJOBLOGとSCRIPTは,それぞれ子孫ジョブのJOBLOGとSCRIPTをマージした内容で作成されます。
-
ルートジョブと子孫ジョブの出力内容が判別できる形式で次の個所へ出力されます。
通常実行の場合:標準エラー出力(STDERR,ステップ番号_ステップ名_STDERR)
デバッグ実行の場合:端末画面上の標準出力と標準エラー出力
-
子孫ジョブ実行時に#-adsh_spoolfileコマンドで割り当てるプログラム出力データファイルは,ルートジョブのスプールジョブディレクトリに次のファイル名で作成されます。
#-adsh_spoolfileコマンドの実行個所
割り当てるファイル名(Windowsでは末尾に拡張子「.sysout」が付与される)
子孫ジョブのジョブステップ外の場合
C子孫ジョブ起動順序通し番号_0000_ジョブ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名
子孫ジョブのジョブステップ内の場合
C子孫ジョブ起動順序通し番号_ステップ番号_ステップ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名
同じジョブ定義スクリプトを子孫ジョブとして複数回実行した場合,実行した数だけSCRIPTを出力します。
スプールジョブディレクトリの作成方法については「3.4.2 ジョブの実行結果をスプールに出力する」を参照してください。ジョブ実行ログの出力形式については,「(3) 子孫ジョブのスプールジョブをルートジョブのスプールジョブへマージした場合」を参照してください。
MERGEを指定した場合,1個のルートジョブから起動できる子孫ジョブは,子孫ジョブから起動する子孫ジョブを含め,9,999,999個までとなります。それを超えると子孫ジョブはエラー終了します。ただし,これより先にOSが定めるプロセス数やファイル数などの上限値に達した場合には,OSのエラー処理に従います。
MERGEを指定した場合のジョブ実行ログの出力例については,「3.5.3 ジョブ実行ログの出力例(子孫ジョブのスプールジョブを削除した場合)」を参照してください。
-
- DELETE
-
子孫ジョブの終了時に,子孫ジョブのスプールジョブを削除します。
子孫ジョブのジョブ実行ログのうち,JOBLOGの内容だけを標準エラー出力へ出力します。
DELETEを指定した場合のジョブ実行ログの出力例については,「3.5.3 ジョブ実行ログの出力例(子孫ジョブのスプールジョブを削除した場合)」を参照してください。
注意事項
システム環境ファイルとジョブ環境ファイルの両方にこのパラメーターが定義されていた場合,ジョブ環境ファイルでの定義が有効になります。
MERGEを指定した場合,子孫ジョブを非同期実行すると,JOBLOGのマージ順序とSCRIPTのマージ順序とが一致しないことがあります。
例えば,ルートジョブで子孫ジョブAと子孫ジョブBを非同期実行した場合に,JOBLOGは「子孫ジョブB→子孫ジョブA」の順序でマージされ,SCRIPTは「子孫ジョブA→子孫ジョブB」の順序でマージされることがあります。
MERGEを指定した場合,ジョブ定義スクリプト内のコマンドを非同期実行すると,子孫ジョブの標準出力と標準エラー出力を示すジョブ実行ログの範囲に,非同期実行したコマンドの標準出力や標準エラー出力が混在することがあります。
MERGEを指定した場合,起動した子孫ジョブで,ジョブ定義スクリプトを解析する前の初期設定処理でエラーが発生すると,マージ処理は実行されません。
子孫ジョブでは,ルートジョブの起動時に読み込んだ環境ファイルのSPOOLJOB_CHILDJOBパラメーターの値が指定されたものとして動作します。ルートジョブのジョブ環境ファイルと,子孫ジョブのジョブ環境ファイルとでSPOOLJOB_CHILDJOBパラメーターの値が異なっていても,無視して動作します。
文法チェックモードでジョブを実行した場合,マージ処理は実行されません。
使用例
子孫ジョブの終了時に,子孫ジョブのスプールジョブをルートジョブのスプールジョブにマージします。
#-adsh_conf SPOOLJOB_CHILDJOB MERGE #-adsh_conf CHILDJOB_SHEBANG /bin/sh