JP1/Advanced Shell
#-adsh_job_stopコマンドを使用して,ジョブステップ終了時に,ジョブを打ち切るかどうかを判断する条件を定義します。
- <この項の構成>
- (1) 判定するタイミング
- (2) 有効範囲
- (3) ジョブの打ち切り条件定義の例
(1) 判定するタイミング
ジョブステップ終了時に,終了コードがこの属性で定義されているかを毎回判定します。定義されていれば後続のジョブ定義スクリプトを実行しないでジョブが終了します。
(2) 有効範囲
指定した個所以降のジョブ定義スクリプトの実行で有効になります。また,先行ジョブ定義スクリプトでこのコマンドが指定されている場合,先行ジョブ定義スクリプトの指定はリセットされ,新たに指定した条件だけが有効になります。
指定例を次に示します。
01: #!/opt/jp1as/bin/adshexec 02: #-adsh_job JOB0001 03: 04: #-adsh_step_start STEP1 05: #-adsh_step_end 06: 07: #-adsh_job_stop 4: ←この定義は行09〜13の指定が有効範囲 08: 09: #-adsh_step_start STEP2 10: #-adsh_step_end 11: 12: #-adsh_step_start STEP3 13: #-adsh_step_end 14: 15: #-adsh_job_stop 8:16,24:32 ←この定義は行17〜18の指定が有効範囲 16: 17: #-adsh_step_start STEP4 18: #-adsh_step_end
(3) ジョブの打ち切り条件定義の例
#-adsh_job_stopコマンドでジョブの打ち切り条件を定義した場合,次のようになります。
- #-adsh_job_stopコマンドで指定した終了コードで終了しても,ジョブステップ外のコマンドはジョブを中断しません。
- #-adsh_job_stopコマンドで指定した終了コードで終了した場合,ジョブステップはジョブを中断します。
- #-adsh_job_stopコマンドを実行してジョブを中断した場合,後続のジョブステップ外コマンドは実行しません。また,run属性の指定に関係なく後続のジョブステップも実行しません。
実行例を次に示します。
#-adsh_job JOB_STOP #-adsh_rc_ignore CBLRTN #-adsh_job_stop 4 ←rc=4でジョブを打ち切るよう指定 echo "Job start." CBLRTN 004 #rc=4で成功するコマンド ←ジョブステップ外のコマンドがrc=4となるが, 中断しない #-adsh_step_start STEP01 echo "Step start." CBLRTN 004 #rc=4で成功するコマンド #-adsh_step_end ←ジョブステップがrc=4で終了し,中断する #-adsh_step_start STEP03 -run always ←run属性に関係なく後続ジョブステップを実行しない echo "command in step" #-adsh_step_end echo "Job end." ←後続コマンドを実行しない
All Rights Reserved. Copyright (C) 2011, 2012, Hitachi, Ltd.