Hitachi

Advanced Shell 


2.6.21 ジョブ強制終了時にユーザー固有の後処理を実行する

ジョブコントローラでは,JP1/AJSからの強制終了,UNIX版でのSIGTERMシグナルによる強制終了,およびWindowsでのtaskkillコマンドによる強制終了(TerminateProcessなどによるプロセス即時終了)を受けたときにユーザー固有の後処理を実行できます。これによって,強制終了要求を受けたことを契機として独自の終了処理を実行するなど,柔軟な運用ができます。強制終了要求を受けたときにユーザー固有の後処理を実行する場合は,環境設定パラメーターTRAP_ACTION_SIGTERMを定義してください。

なお,環境設定パラメーターTRAP_ACTION_SIGTERMはUNIX版とWindows版で指定できるオペランドが異なります。環境設定パラメーターTRAP_ACTION_SIGTERMについては,「7.3.49 TRAP_ACTION_SIGTERMパラメーター(ジョブコントローラが強制終了要求を受けたときの動作を定義する)」を参照してください。

使用例を次に示します。

環境ファイルの内容
#-adsh_conf TRAP_ACTION_SIGTERM TERM
ジョブ定義スクリプトの内容
#-adsh_job JOB01
trap "UAP_TERM" TERM
UAP01

→UAP01実行中に強制終了要求を受けた場合,ジョブコントローラは「UAP_TERM」というユーザープログラムを実行したあと,子孫プロセスの強制終了といった後処理を実行してからジョブを終了します。