Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 導入ガイド


5.4.10 ジョブの強制停止処理

JP1/AJS3は,ジョブの強制終了要求や,JP1/AJS3のサービスの強制停止要求を受け付けた場合に,実行中のジョブを強制停止します。

〈この項の構成〉

(1) 実行ホストがWindowsの場合

強制停止対象となるプログラム(実行先のエージェントホストがWindowsの場合)を次に示します。

これらのプログラムの停止処理は,Win32APIのTerminateProcess関数を実行します。TerminateProcess関数の仕様については,Windowsの資料を参照してください。ユーザープログラムから起動されたプログラム(子プロセス)については停止処理を実行しません。

(2) 実行ホストがUNIXの場合

強制停止対象となるプログラム(実行先のエージェントホストがUNIXの場合)を次に示します。

これらのプログラムの停止処理は,そのプロセスグループに対してSIGKILLを送信することで実行されます。プロセスグループとSIGKILLの詳細については,UNIXのプロセス制御に関する資料を参照してください。

(3) JP1/Scriptで作成されたジョブの強制停止

JP1/AJS3からJP1/Scriptで作成されたジョブプロセス(拡張子が.spt)を強制終了する場合,JP1/Scriptのスクリプト制御インタフェース(SPTHTerminate)が使用されます(スクリプト制御インタフェースについては,マニュアル「JP1/Script(Windows(R)用)」を参照してください)。このインタフェースによって,JP1/Scriptのプロセス(.spt)から起動した子プロセスも終了されます。

なお,起動した子プロセスが,JP1/Scriptのプロセス(.spt)なのか,またはJP1/Scriptのプロセス(.spt)以外なのかによって終了される範囲が変わってきます。具体的には次の表のようになります。

表5‒6 プロセスが終了される範囲

パターン

呼び出し順序

JP1/AJS3プロセス(呼び出し順序が1のプロセス)が

強制終了した場合に終了されるプロセスの範囲

パターン1

  1. JP1/AJS3プロセス

  2. JP1/Scriptプロセス

  3. JP1/Scriptプロセス以外のプロセス

呼び出し順序が3のプロセスまで終了されます。

パターン2

  1. JP1/AJS3プロセス

  2. JP1/Scriptプロセス

  3. JP1/Scriptプロセス

  4. JP1/Scriptプロセス以外のプロセス

呼び出し順序が4のプロセスまで終了されます。

パターン3

  1. JP1/AJS3プロセス

  2. JP1/Scriptプロセス

  3. JP1/Scriptプロセス以外のプロセス

  4. JP1/Scriptプロセス以外のプロセス

呼び出し順序が3のプロセスまで終了されます(呼び出し順序が4のプロセスは終了されません)。

ただし,JP1/AJS3からの強制終了要求から30秒経過してもJP1/Scriptプロセスが終了しない場合は,Win32 APIのTerminateProcess関数を使用してJP1/Scriptプロセスを強制終了します。TerminateProcess関数を使用した場合,子プロセスは終了されませんので,上記の各パターンの呼び出し順序2のJP1/Scriptプロセスだけが終了されることになります。