Hitachi

JP1 Version 11 JP1/Advanced Shell 


3.4.2 ジョブの実行結果をスプールに出力する

環境ファイルに設定されたスプールルートディレクトリに,ジョブごとのディレクトリを作成し,ジョブの実行結果を出力します。ジョブごとのディレクトリには,ジョブ実行ログやジョブステップのプログラムが出力したファイルが出力されます。

スプールディレクトリの構造を次に示します。

スプールルートディレクトリロックファイルスプールジョブディレクトリ
    ├.adshallocfileまたはadshallocfile※1
    ├.joborderまたはadsh.joborder※1
    ├.sysoutまたはsysout.ini※1
    ├EVENTFILE_ROOT_INF_000000_000000_000001
    ├EVENTFILE_実行開始日時_ジョブ識別子
      :
    ├EVENTFILE_実行開始日時_ジョブ識別子
    ├JOBLOG※2
    ├JOBLOG_ジョブ識別子_通番
    ├JOBLOG_子孫ジョブ起動順序通し番号※1
    ├SCRIPT※2
    ├SCRIPT_子孫ジョブ起動順序通し番号※1
    ├STDERR※2
    ├STDOUT※2ステップ番号_ステップ名_STDOUT※2ステップ番号_ステップ名_STDERR※2
    ├0000_ジョブ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名※3
    ├C子孫ジョブ起動順序通し番号_0000_ジョブ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名※3ステップ番号_ステップ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名※3
      :
    ├ステップ番号_ステップ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名
    └C子孫ジョブ起動順序通し番号_ステップ番号_ステップ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名※3
注※1

ジョブの実行中に一時的に作成されるファイルです。内容を次に示します。

ファイル名

説明

.adshallocfileまたはadshallocfile

割り当て管理ファイル

.joborderまたはadsh.joborder

子孫ジョブ起動順序管理ファイル

.sysoutまたはsysout.ini

スプールジョブ管理ファイル

JOBLOG_子孫ジョブ起動順序通し番号

環境ファイルのSPOOLJOB_CHILDJOBパラメーターにMERGEを指定(子孫ジョブのスプールジョブをルートジョブのスプールジョブにマージする)した場合に出力される,マージ用の子孫ジョブのジョブ実行ログ

SCRIPT_子孫ジョブ起動順序通し番号

UNIXのSIGKILLやWindowsのTerminateProcessなどによってジョブが即時終了した場合,これらのファイルがスプールジョブディレクトリ内に残ることがあります。スプールジョブディレクトリが不要になって削除する際は,これらのファイルも一緒に削除してください。

注※2

このファイルの内容はジョブ実行ログにも出力されます。ジョブ実行ログの出力内容については,「3.5 ジョブ実行ログ」を参照してください。

注※3

#-adsh_spoolfileコマンドによって割り当てられたプログラム出力データファイルです。プログラム出力データファイルについては,「5.9.3 プログラム出力データファイルの割り当てをする」を参照してください。

重要
  • Windowsの場合,EVENTFILE以外のファイルは,ファイル名の後ろに拡張子「.sysout」が付きます。

  • スプールのディレクトリの下には,JP1/Advanced Shellが作成するファイルやディレクトリではないユーザー独自のファイルは置かないでください。

一時ファイル以外のファイルおよびディレクトリについて次に説明します。

〈この項の構成〉

(1) スプールルートディレクトリ

ディレクトリ名は環境ファイルのSPOOL_DIRパラメーターで設定します。

(2) ロックファイル

同じイベントファイルが複数のコマンドから同時に使用されないよう,スプールディレクトリ単位で排他制御をするために使用されます。adshevtoutコマンドおよびadshhkコマンドの実行時に生成されます。

ロックファイルのファイル名は次のとおりです。生成されたロックファイルは削除しないでください。

(3) スプールジョブディレクトリ

スプールジョブディレクトリは,ジョブ識別子と同じ名称のディレクトリで,ジョブ単位に作成されます。ジョブ終了時に「ジョブ識別子-スプールジョブ名」に変更されます。このスプールジョブ名にはJP1/Advanced Shellのジョブ名が使用されます。シェル変数ADSH_SPOOL_JOBNAMEを使用して,任意の文字列をスプールジョブ名に指定することもできます。

蓄積されたスプールジョブはadshhkコマンドで削除できます。adshhkコマンドについては「3.9 スプールジョブを削除する」を参照してください。

ジョブ終了後のスプールジョブディレクトリのリネーム時,同一名のディレクトリがすでに存在すると,リネームに失敗します。リネームに失敗すると「ジョブ識別子」のディレクトリ名のまま残ります。ジョブの動作は完了しており後続ジョブが続行できるためrc=0で終了しますが,ディレクトリが残ったままである間,そのジョブ識別子は使用できなくなると同時にadshhkコマンドによる削除がされなくなります。

(4) EVENTFILE_ROOT_INF_000000_000000_000001

ルートジョブ検索イベントファイルです。adshevtoutコマンド(ジョブ定義スクリプトの稼働実績情報の出力)で指定された条件に該当するかを判定するための情報が格納されます。このファイルはルートジョブ単位に作成します。

次の場合,作成しません。

(5) EVENTFILE_実行開始日時_ジョブ識別子

イベントファイルです。イベントファイルの作成中はファイル名の後ろに「_making」が付きます。このファイルは,ルートジョブ,子孫ジョブ単位に作成します。

イベントファイル名の例

EVENTFILE_20120422_193502_123456

次の場合,作成しません。

実行開始日時

ルートジョブまたは子孫ジョブの実行開始日時(UTC)が,次の形式で出力されます。

YYYYMMDD_hhmmss_dddddd

YYYY:西暦年を4桁の10進数(1970〜2038)で出力します。

MM:月を2桁の10進数(01〜12)で出力します。

DD:日を2桁の10進数(01〜31)で出力します。

hh:時を2桁の10進数(00〜23)で出力します。

mm:分を2桁の10進数(00〜59)で出力します。

ss:秒を2桁の10進数(00〜59)で出力します。

dddddd:マイクロ秒を6桁の10進数(000000〜999999)で出力します。

ジョブ識別子

ルートジョブまたは子孫ジョブに付与される6桁の10進数が出力されます。

(6) JOBLOG

コマンドの実行結果やファイルの割り当て結果など,ジョブの動作状況を示すメッセージが出力されます。

(7) JOBLOG_ジョブ識別子_通番

子孫ジョブのジョブ実行ログです。

子孫ジョブ起動時に次のどちらかの方法で,子孫ジョブを簡潔出力モードまたは最小出力モードを指定した場合だけ作成されます。

ただし,SPOOLJOB_CHILDJOBパラメーターにMERGE(子孫ジョブのスプールジョブをルートジョブのスプールジョブにマージする)を指定した場合は作成されません。

(8) SCRIPT

スクリプトイメージファイルです。最初に起動したジョブ定義スクリプトファイルと,#-adsh_scriptコマンドで指定した外部のジョブ定義スクリプトファイルの内容が出力されます。その他の.(ドット)コマンドなどで指定する外部のジョブ定義スクリプトファイルは出力されません。ログとしてジョブ定義スクリプトの内容を出力したい場合は,#-adsh_scriptコマンドを使用します。

なお,SPOOLJOB_CHILDJOBパラメーターでMERGEを指定し,ルートジョブを拡張出力モード,子孫ジョブを最小出力モードで動作する場合は,子孫ジョブのSCRIPTはルートジョブのSCRIPTにマージされません。詳細については,「(c) ルートジョブと子孫ジョブで出力モードが異なる場合」を参照してください。

(9) STDERR

ジョブの標準エラー出力です。ルートジョブ起動時に次のどちらかの方法で,ルートジョブを簡潔出力モードまたは最小出力モードを指定した場合は作成されません。

ファイルの先頭行には次に示すヘッダが出力されます。

********   実行ジョブのSTDERRファイルの内容    ********

(10) STDOUT

ジョブの標準出力です。adshexecコマンドの-sオプションおよび環境ファイルのOUTPUT_STDOUTパラメーターにSPOOLを指定した場合に作成されます。ルートジョブ起動時に次のどちらかの方法で,ルートジョブを簡潔出力モードまたは最小出力モードを指定した場合は作成されません。

ファイルの先頭行には次に示すヘッダが出力されます。

********   実行ジョブのSTDOUTファイルの内容    ********

(11) ステップ番号_ステップ名_STDOUT

ジョブステップを定義した場合の,該当するジョブステップ中の標準出力です。ジョブステップ名が8バイトを超える場合,ファイル名に含むステップ名は,ジョブステップ名の最初の8バイトになります。

adshexecコマンドの-sオプションおよび環境ファイルのOUTPUT_STDOUTパラメーターにSPOOLを指定した場合に作成されます。ルートジョブ起動時に次のどちらかの方法で,ルートジョブを簡潔出力モードまたは最小出力モードを指定した場合は作成されません。

(12) ステップ番号_ステップ名_STDERR

ジョブステップを定義した場合の,該当するジョブステップ中の標準エラー出力です。ジョブステップ名が8バイトを超える場合,ファイル名に含むステップ名は,ジョブステップ名の最初の8バイトになります。

ルートジョブ起動時に次のどちらかの方法で,ルートジョブを簡潔出力モードまたは最小出力モードを指定した場合は作成されません。

(13) 0000_ジョブ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名

ジョブステップ外で#-adsh_spoolfileコマンドによって割り当てられたプログラム出力データファイルです。

(14) C子孫ジョブ起動順序通し番号_0000_ジョブ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名

子孫ジョブのジョブステップ外で#-adsh_spoolfileコマンドによって割り当てられたプログラム出力データファイルです。

環境ファイルのSPOOLJOB_CHILDJOBパラメーターにMERGE(子孫ジョブのスプールジョブをルートジョブのスプールジョブにマージ)を指定した場合だけ作成されます。

(15) ステップ番号_ステップ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名

ジョブステップ内で#-adsh_spoolfileコマンドによって割り当てられたプログラム出力データファイルです。

(16) C子孫ジョブ起動順序通し番号_ステップ番号_ステップ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名

子孫ジョブのジョブステップ内で#-adsh_spoolfileコマンドによって割り当てられたプログラム出力データファイルです。

環境ファイルのSPOOLJOB_CHILDJOBパラメーターにMERGE(子孫ジョブのスプールジョブをルートジョブのスプールジョブにマージ)を指定した場合だけ作成されます。