Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 コマンドリファレンス


1.4.2 JP1/AJS3から実行されるジョブ実行時に設定される環境変数

ジョブ実行時に設定される環境変数を次の表に示します。

表1‒7 ジョブ実行時に設定される環境変数の一覧

環境変数名

意味

AJSENV

スケジュールに従ってジョブが起動されたことを識別できるようになります。

通常は,YESが設定されます。

AJSPRE_ST

先行ジョブまたは先行ジョブネットの終了状態を表す文字が設定されます。

指定される文字を次に示します。

n:正常終了

w:警告終了

a:異常終了

先行ジョブや先行ジョブネットが複数ある場合は,異常のレベルの高いものが設定されます。先行ジョブや先行ジョブネットがない場合はn(正常終了)が設定されます。再実行時の開始ジョブの場合も,開始ジョブの先行ジョブやジョブネットの状態が設定されます。再実行によって先行ジョブやジョブネットの状態が正常終了や警告終了に変更されると,変更された値が設定されます。

AJSPRE_RC

先行ジョブの戻り値(−2,147,483,648〜2,147,483,647の値)が設定されます。先行ジョブが複数ある場合は,すべての戻り値の論理和が設定されます。先行ジョブがない場合は0が設定されます。再実行時の開始ジョブの場合は,前回実行したときの戻り値が設定されます。

AJSNETNAME※1

ルートジョブネット名(899バイト以内の文字列)が設定されます。

AJSJOBNAME※1

ジョブ名(930バイト以内の文字列)が設定されます。

AJSHOST※1

ジョブの実行を依頼したマネージャーホスト名(255バイト以内の文字列)が設定されます。

AJS_AJSCONF※1

ジョブの実行を依頼したマネージャーホストのスケジューラーサービス名(30バイト以内の文字列)が設定されます。

AJSEXDATE※1

ルートジョブネットの実行開始予定日(yyyy/mm/ddの形式)が設定されます。ジョブネットの実行が遅延したり,翌日に再実行したりした場合でも,当初の実行予定日が設定されます。

AJSEXECID※1

ジョブの実行ID(10バイト以内の文字列)が設定されます。

AJSEXECPID※1

起動条件監視中世代の実行ID(10バイト以内の文字列)が設定されます。

なお,起動条件監視をしていない場合は値なしになります。

JP1_HOSTNAME※1

論理ホストの場合だけ論理ホスト名が設定されます。※2

JP1JobName※1

実行ファイル名,またはジョブ名(63バイト以内の文字列)が設定されます。QUEUEジョブまたはjpqjobsubコマンドでジョブ名を指定している場合はそのジョブ名が設定され,PCジョブ,UNIXジョブ,QUEUEジョブ,アクションジョブでジョブ名を指定していない場合は,実行ファイル名が設定されます。

実行ファイル名は,パス情報を除いたファイル名部分の先頭から63バイト分までの文字列が設定されます。

JP1JobID※1

ジョブ番号(1〜999,999の値)が設定されます。キューレスジョブの場合,内部で使用するID(10バイト以内の文字列)が設定されます。

JP1UserName※1

ジョブをサブミットしたユーザー名(63バイト以内の文字列)が設定されます。

JP1_USERNAME※1

ジョブをサブミットしたユーザー名(63バイト以内の文字列)が設定されます。

JP1UNCName※1

ジョブを実行しているエージェントホスト名(255バイト以内の文字列)が設定されます。

JP1NBQSQueueName※1

ジョブの登録先であるマネージャーホスト名(255バイト以内の文字列)とキュー名(63バイト以内の文字列)が「\\マネージャーホスト名\キュー名」の形式で設定されます。

ジョブ詳細定義の[実行エージェント]に実行エージェント名(255バイト以内の文字列)を指定した場合は,キュー名の代わりに実行エージェント名が「\\マネージャーホスト名\実行エージェント名」の形式で設定されます。

また,ジョブ詳細定義の[実行エージェント]に実行エージェントグループ名(255バイト以内の文字列)を指定した場合は,キュー名の代わりに実行エージェントグループ名が「\\マネージャーホスト名\実行エージェントグループ名」の形式で設定されます。

ただし,キューレスジョブの場合は設定されません。

JP1NBQSClientName(Windows限定)※1

ジョブを投入したクライアントコンピュータ名(15バイト以内の文字列)が設定されます。ただし,キューレスジョブの場合は設定されません。

JP1Priority※1

ジョブの実行優先順位(UNIX版では1〜5の値,Windows版では32,64,128のどれかの値(64(低),32(中),128(高)))が設定されます。

HOME(UNIX限定)

ジョブに指定した実行ユーザーの,パスワードファイルに定義されているログインディレクトリが設定されます。実行ユーザーが指定されていない場合は,実行ユーザーとして,ジョブネットを登録したJP1ユーザーに対応するOSユーザーが設定されます。

SHELL(UNIX限定)

ジョブを実行するための実行シェルが設定されます。実行シェルは,次に示す優先順位に従って決定されます。ジョブの登録方法によって設定されるシェルが異なるため注意が必要です。

優先順位がいちばん高いのは1です。

ジョブネットから実行するジョブで[コマンド文]を指定していない場合

  1. ジョブに指定したスクリプトファイルの先頭行に書かれているシェル

  2. 実行ユーザーのパスワードファイルに定義されているログインシェル

  3. /bin/sh

ジョブネットから実行するジョブで[コマンド文]を指定している場合※3

  1. ジョブに指定した[コマンド文]の先頭行に書かれているシェル

  2. 実行ユーザーのパスワードファイルに定義されているログインシェル

  3. /bin/sh

jpqjobsubコマンドでジョブを実行する場合

  1. ジョブに指定したスクリプトファイルの先頭行に書かれているシェル

  2. jpqjobsubコマンドの-shlオプションに指定したシェルパス名

  3. 実行ユーザーのパスワードファイルに定義されているログインシェル

  4. /bin/sh

LANG(UNIX限定)

JP1/AJS3起動時の環境変数LANGの値が設定されます。※5,※6

なお,Windows版JP1/AJS3は,通常,ユーザー環境変数を読み込みません。しかし,クラスタをセットアップすると,フェールオーバークラスタの仕様によってユーザー環境変数を読み込みます。

LOGNAME(UNIX限定)

ジョブに指定された実行ユーザーのユーザー名が設定されます。実行ユーザーが指定されていない場合は,実行ユーザーとして,ジョブネットを登録したJP1ユーザーに対応するOSユーザーが設定されます。

MAIL(UNIX限定)※1

/usr/mail/実行ユーザー名(ジョブに指定された実行ユーザー,またはジョブネットを登録したJP1ユーザーに対応するOSユーザー)」が設定されます。

PATH(UNIX限定)※1

/bin:/usr/bin」だけを設定します。※4,※5

AJSQLManagerName(Windows限定)※1

キューレスジョブの場合だけ,ジョブの実行を依頼したマネージャーホスト名(255バイト以内の文字列)が設定されます。

  • 記載されている環境変数は,ジョブ定義時に環境変数として使用することはできません。また,環境変数ファイルとして指定するファイル内で使用することもできません。

  • AIXの場合は,/etc/environmentの情報は引き継がれません。

  • 大文字・小文字にかかわらず,「JP1」,「AJS」,および「AJS2」から始まる環境変数は使用しないでください。フレキシブルジョブの場合は,大文字・小文字にかかわらず,「JP1」,「AJS」,「AJS2」,および「AS_」から始まる環境変数は使用しないでください。

  • 環境変数TZはジョブ実行時には設定されません。

  • AJS」で始まる環境変数は,ジョブネットからジョブを登録した場合だけ設定されます。サブミットジョブには設定されません。

注※1

フレキシブルジョブの場合は設定されません。

注※2
UNIXの場合
  • ジョブの詳細定義の[実行先サービス]に[標準]を指定した場合

    jajs_spmdコマンドの-hオプションに指定した論理ホスト名が設定されます。

    -hオプションを省略した場合は,環境変数JP1_HOSTNAMEの値が設定されていれば,論理ホストとして値が引き継がれます。物理ホストの場合は,何も設定されません。

  • ジョブの詳細定義の[実行先サービス]に[キューレス]を指定した場合

    ジョブの実行先ホストが論理ホストであれば,ジョブの詳細定義の[実行エージェント]に指定された値を設定します。ジョブの実行先ホストが物理ホストであれば,何も設定されません。

Windowsの場合
  • ジョブの詳細定義の[実行先サービス]に[標準]を指定した場合

    論理ホストの場合は,JP1/AJS3サービス起動時に環境変数JP1_HOSTNAMEに論理ホスト名を設定します。物理ホストの場合は,何も設定されません。

  • ジョブの詳細定義の[実行先サービス]に[キューレス]を指定した場合

    ジョブの実行先ホストが論理ホストであれば,ジョブの詳細定義の[実行エージェント]に指定された値を設定します。ジョブの実行先ホストが物理ホストであれば,何も設定されません。

注※3

[コマンド文]を指定している場合,[スクリプトファイル名]に指定したスクリプトファイルの先頭行にシェルが記述されていても有効になりません。

注※4

JP1/AJS3からジョブを起動した場合,JP1/AJS3が明示的に環境変数PATHに「/bin:/usr/bin」を設定しています。それ以外の値を設定したい場合はジョブ定義時に指定したコマンドやスクリプトファイルでの定義,またはローカルログインスクリプトでの定義で設定するようにしてください。

注※5

実行先サービスが[キューレス]のジョブの場合は,キューレスエージェントサービス起動時の環境変数の値が設定されます。

注※6

フレキシブルジョブの場合は,JP1/AJS3 Autonomous Agentサービス起動時の環境変数の値が設定されます。

環境変数には,JP1/AJS3で設定されるもの(表1-7の環境変数,ジョブ定義時に指定した環境変数,ジョブ定義時に環境変数ファイルとして指定したファイル内の環境変数)のほかに,ジョブ定義時に指定したコマンド文やスクリプトファイル,ローカルログインスクリプト,システムログインスクリプトにも設定できます。

なお,環境変数TZのように,ジョブ実行時に設定されない環境変数を設定したい場合は,次に示すどれかに設定してください。これらの中で同じ環境変数があった場合,次に示す優先順位に従って有効になります(優先順位がいちばん高いのは1です)。

注意事項

Windowsの場合,ジョブの実行時にシステム環境変数が有効になりますが,ユーザー環境変数は有効になりません。ただし,JP1/AJS3サービスの起動アカウントをシステムアカウントからユーザーアカウントに変更した場合,ジョブ実行時にJP1/AJS3サービスの起動アカウントのユーザー環境変数が有効になります。

また,クラスタシステムをセットアップした論理ホストでは,システム起動時にフェールオーバークラスタがユーザー環境変数を読み込みます。フェールオーバークラスタから起動した論理ホストのJP1/AJS3サービスでは,ユーザー環境変数が有効になり,ジョブ実行時にもユーザー環境変数が使用されます。

なお,JP1/AJS3サービス起動時に読み込まれる環境変数には,システム環境変数のほかにOSが起動するときに設定する環境変数も含まれます。

注※

フェールオーバークラスタ以外のクラスタソフトについては仕様を確認してください。