9.4.5 adshjoberrコマンド(ジョブおよびジョブステップにエラーを通知する)
形式
adshjoberr 終了コード
機能
指定した場所からジョブおよびジョブステップにエラーを通知できます。指定した場所がジョブステップ内またはジョブステップ外の場合,次のように動作します。
- ジョブステップ内に指定した場合
-
ジョブステップのonError属性の指定に関わらず,ジョブステップ正常ブロックの後続処理は実行しないで,ジョブステップエラーブロックが定義されていれば実行し,ジョブステップがエラー終了します。
- ジョブステップ外に指定した場合
-
run属性がabnormalまたはalwaysの後続のジョブステップが定義されていれば実行し,ジョブがエラー終了します。
引数
- 終了コード ~<整数>((0~255))
-
ジョブまたはジョブステップに通知する終了コードを定義します。
終了コード
終了コード |
意味 |
---|---|
0~255 |
エラー終了 adshjoberrコマンドの引数に指定した終了コードをジョブまたはジョブステップに通知します。 |
1 |
エラー終了 続行不可能なエラーが発生しました。 |
200 |
エラー終了 コマンドラインの指定に誤りがあります。 |
注意事項
-
adshjoberrコマンドを別プロセス実行すると,呼び出し元のスクリプトのジョブおよびジョブステップにエラーが通知されない場合があります。adshjoberrコマンドは別プロセス実行しないようにしてください。
-
adshjoberrコマンドを子孫ジョブ内に定義して実行した場合,子孫ジョブおよび子孫ジョブ内のジョブステップにだけエラーが通知されます。子孫ジョブ呼び出し元のジョブまたはジョブステップにはエラーは通知されません。
-
trapコマンドのアクション内でadshjoberrコマンドを実行した場合,実行したタイミングがジョブステップ外の場合はジョブに,ジョブステップ内の場合はジョブステップにエラーが通知されます。
-
CMDRC_CMDGRP_CHECKパラメーターのオペランドにFUNCTIONを定義した場合,関数内のコマンドはエラー判定対象外であるため,関数内に指定したadshjoberrコマンドから,呼び出し元のスクリプトのジョブおよびジョブステップにエラーが通知されません。CMDRC_CMDGRP_CHECKパラメーターのオペランドにFUNCTIONを定義した場合,adshjoberrコマンドは関数内に定義しないようにしてください。
-
adshjoberrコマンドは.envファイル,初期設定スクリプトファイルに定義できません。
使用例
ファイルが存在しない場合,ジョブステップを終了コード1で異常終了させます。
- ジョブ定義スクリプト
-
#-adsh_job J01 #-adsh_step_start S01 cmd1 if [[ ! -a /tmp/tempfile ]]; then echo "tempfile not found" adshjoberr 1 fi #-adsh_step_end
- 実行結果
-
******** ジョブコントローラのメッセージ出力 ******** 17:02:02 046277 KNAX0091-I J01 ジョブが開始しました。 17:02:02 046277 KNAX7901-I ジョブコントローラは,ジョブ終了時にすべての非同期実行プロセスの完了を待ちます。 17:02:02 046277 KNAX7902-I ジョブコントローラは,"端末入力モード"で動作します。 17:02:02 046277 KNAX0092-I J01.S01 ステップが開始しました。 17:02:02 046277 KNAX6116-I コマンド(./cmd1, 行番号=4)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.000s 17:02:02 046277 KNAX6112-I コマンド([[, 行番号=5)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s 17:02:02 046277 KNAX6112-I コマンド(echo, 行番号=6)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s 17:02:02 046277 KNAX6150-E ジョブステップにエラーが通知されました。rc=1 line=7 17:02:02 046277 KNAX6596-E J01.S01 ジョブステップがエラー終了しました。rc=1 E-Time=0.003s C-Time=0.000s 17:02:02 046277 KNAX0101-E J01 ジョブを実行中にエラーが発生しました。 17:02:02 046277 KNAX0098-I J01 ジョブが終了しました。rc=1 E-Time=0.004s C-Time=0.000s