ジョブ異常終了 (ENDJOBABN)

実行可能場所: すべての環境 (*ALL)
スレッド・セーフ: いいえ
パラメーター

エラー・メッセージ

ジョブ異常終了 (ENDJOBABN)コマンドは,終了方法 (OPTION)パラメーターに*IMMEDを指定したジョブ終了 (ENDJOB)コマンドでは正常に終了できないジョブを終了します。即時終了要求を出してから10分が経過するまでは,ENDJOBABNコマンドをジョブに対して出すことはできません。これにより,通常のジョブ終了機能を試みるのに十分な時間ができます。

ENDJOBABNコマンドが出されると,ジョブ終了処理の大部分(ジョブ・ログのスプール,対話式ジョブのジョブ終了画面,および実行中の個々の機能のジョブ終了処理など)が迂回されます。試みられるジョブ終了処理の部分は,完了まで5分の猶予しかありません。5分経っても完了しないと,ジョブはその時点で強制的に終了されます。ジョブ・クリーンアップの一部が実行されないため,即時終了の最中であるジョブが終了を完了しないで,そのジョブが使用中である資源を別のジョブまたはシステムが必要としている時にだけ,ENDJOBABNコマンドを使用するようにしてください。ENDJOBABNコマンドを使用すると,終了するジョブが使用中の資源の一部が,次のIPLまで使用不可のままにされることがあります。

ENDJOBABNコマンドを使用すると,次のシステム終了にABNORMALのマークが付けられます。そうすると,後続のIPL時に一定のシステム機能が呼び出され,ENDJOBABNコマンドの実行が原因で発生した可能性のある条件が解消されます。ただし,これによって,マシン回復機能が呼び出されることもなければ,アクセス・パスの再作成が必要になることもありません。ジョブが使用している一部の記憶域は,ENDJOBABNコマンドが実行された後で使用不可になることがあります。使用可能な記憶域は,記憶域再利用 (RCLSTG)コマンドを使用して再利用することができます。

ジョブ・ログ書き込みプロセスを迂回すると,ENDJOBABNコマンドによってジョブが終了された後,ジョブの状況はJOBLOG PENDING (DSPJOB状況属性画面に表示される)になります。ジョブ・ログ書き込みは,次のIPLまで実行されません。ただし,ジョブ・ログ表示(DSPJOBLOG)コマンドを使用すれば,ジョブ・ログの内容を印刷または表示することができます。

ENDJOBABNコマンドの実行時に,次の機能が正常に実行されます。

このコマンドは,以下の状況では,ジョブの終了に失敗するか,終了するのに少なくとも5分を要します。

制約事項:

  1. コマンド発行側は,終了中のジョブのジョブ・ユーザー識別と同じユーザー・プロファイルで実行しなければなりません。あるいはコマンド発行側は,ジョブ制御(*JOBCTL)特殊権限をもつユーザー・プロファイルで実行しなければなりません。ジョブ・ユーザー識別はユーザー・プロファイルの名前であり,これによってジョブは他のジョブに認識されます。これについては,Work Managementに詳細な説明があります。
  2. ENDJOBABNコマンドを実行した後で,続けてENDJOBABNコマンドをジョブに対して出すことはできません。
  3. ユーザーは読み取りプログラム,書き出しプログラム,サブシステム・モニター,またはシステム・ジョブを終了することはできません。
  4. ユーザーは,ジョブの即時終了が開始されてから10分間はENDJOBABNコマンドを実行できません。ジョブの即時終了は次の方法で開始されます。
    • OPTION(*CNTRLD)を含むジョブ終了 (ENDJOB)コマンドが指定されて,遅延時間が終了した時。
    • OPTION(*IMMED)を含むENDJOBコマンドが出された時。
    • OPTION(*CNTRLD)を含むサブシステム終了 (ENDSBS)コマンドが,ジョブを実行中のサブシステムに対して出され,遅延時間が終了した時。
    • OPTION(*IMMED)を含むENDSBSコマンドが,ジョブを実行中のサブシステムに対して出された時。
    • OPTION(*IMMED)またはOPTION(*CNTRLD)を含むシステム終了 (ENDSYS)コマンドが出され,遅延時間が終了した時。
    • OPTION(*IMMED)を含むシステム電源遮断 (PWRDWNSYS)コマンドが出された時。
  5. ジョブが非同期信号SIGTERMのハンドラーを定義している場合は,SIGTERM信号ハンドラーを実行できるようにジョブの即時終了が遅延されます。詳細については,システム値QENDJOBLMTを参照してください。SIGTERM信号ハンドラーの実行中は,ENDJOBABNコマンドを実行できません。SIGTERM信号ハンドラーが少なくとも2分間実行した場合は,OPTION(*IMMED)を指定したENDJOBコマンドを使用して,SIGTERM信号ハンドラーを停止してください。

パラメーター

キーワード 記述 選択項目 ノーツ
JOB ジョブ名 修飾ジョブ名 必須, 定位置 1
修飾子 1: ジョブ名 名前
修飾子 2: ユーザー 名前
修飾子 3: 番号 000000-999999
DUPJOBOPT 重複ジョブ・オプション *SELECT, *MSG オプショナル

ジョブ名 (JOB)

終了するジョブの修飾ジョブ名を指定します。

これは必須パラメーターです。

修飾子1: ジョブ名

名前
ジョブの名前を指定します。

修飾子2: ユーザー

名前
そのもとでジョブが実行されるユーザー・プロファイルを識別するユーザー名を指定してください。

修飾子3: 番号

000000から999999
システム割り当てジョブ番号を指定してください。

注: ユーザー名またはジョブ番号を指定しないと,システムに現在あるすべてのジョブのジョブ名が検索されます。指定した名前が複数個見つかった場合は,修飾ジョブ名は明示的に,または選択表示を介して提供する必要があります。詳細については,重複ジョブ・オプション (DUPJOBOPT)パラメーターを参照してください。

重複ジョブ・オプション (DUPJOBOPT)

このコマンドで重複ジョブが見つかった時に取られる処置を指定します。

*SELECT
対話式セッション中に重複しているジョブが見つかった時には,選択画面が表示されます。そうでない場合には,メッセージが出されます。
*MSG
重複しているジョブが見つかった時には,メッセージが出されます。

ENDJOBABN   JOB(000310/SMITH/PAYROLL)

このコマンドは,ENDJOBコマンドを使用して前に終了しようと試みて失敗したバッチ・ジョブ000310/SMITH/PAYROLLを終了します。ENDJOBABNコマンドは,ENDJOBコマンドを出してから少なくとも10分間ジョブの終了を待機した後でしか出せません。


エラー・メッセージ

*ESCAPE メッセージ

CPF1317
ジョブ&3/&2/&1に対して,サブシステムから応答がない。
CPF1321
ジョブ&1ユーザー&2ジョブ番号&3が見つからない。
CPF1332
重複したジョブ名の終わり。
CPF1340
ジョブ制御機能は実行されなかった。
CPF1341
読み取りプログラムまたは書き出しプログラム&3/&2/&1は,ジョブ名として使用できない。
CPF1342
このコマンドのジョブ名として現行ジョブを使用することはできない。
CPF1343
ジョブ&3/&2/&1は,この機能に対して正しくないジョブ・タイプである。
CPF1351
ジョブ&3/&2/&1のサブシステムで機能チェックが起こった。
CPF1359
この時点にジョブ&3/&2/&1に対してENDJOBABNを使用することはできない。
CPF1360
ENDJOBABNのため,&3/&2/&1は既に終了中である。
CPF1362
ジョブ&3/&2/&1が完了した。