環境変数一覧

JP1/AJS2のコマンド実行時に使用される環境変数と,JP1/AJS2から実行されるジョブ実行時に設定される環境変数を示します。

JP1/AJS2のコマンド実行時に使用される環境変数

コマンド実行時に使用される環境変数を次の表に示します。

表1-6 コマンド実行時に使用される環境変数の一覧

環境変数名内容参照契機
AJSMANAGERHOST操作先ホストの論理ホスト名ジョブネットワーク要素を操作するコマンド※1,およびajsstatusコマンドをリモート実行するとき,ユニット名指定時に論理ホスト名が省略された場合。
JP1_HOSTNAME自ホストの論理ホスト名JP1/AJS2が自ホストの論理ホスト名を参照する場合。
または,コマンド実行時に操作対象の論理ホストを参照する場合(コマンドのオプションとして,論理ホスト名を指定しなかった場合)。※2
AJSCONFスケジューラーサービス名オブジェクト名指定時に,スケジューラーサービス名が省略され,かつ,-Fオプションのスケジューラーサービス名が省略された場合。
AJSPATHAJSパス名ジョブネットワーク要素を操作するコマンド※1に,ユニット名が完全名で指定されなかった場合(ジョブグループ名として利用します)。
JP1_USERNAMEJP1ユーザー名ジョブネットワーク要素を操作するコマンド※1でユーザーのアクセス権限取得時に,OSのユーザー名と異なるJP1ユーザー名を利用する場合。
LANG言語種別出力するテキストの言語種別を切り分ける場合。
Windowsの場合はホストの設定に依存するため,利用されません。
ジョブネットワーク要素を操作するコマンド※1を実行する場合,コマンドの実行対象ユニットが定義されているスケジューラサービスのAJSCHARCODEパラメーターの設定と同じ言語種別を設定してください。
TZタイムゾーンスケジュールを計算する場合や,日時を表示する場合。※3
AJSAUTOJUDGEプランニンググループの下にあるユニットの中から操作対象を自動選択する機能の指定次に示すコマンドで,-Xオプションを省略した場合。※4
  • ajschgstatコマンド
  • ajsintrptコマンド
  • ajskillコマンド
  • ajsplanコマンド
  • ajsrerunコマンド
  • ajsshowコマンド
AJSDISPSUBUNITTYPEジョブグループ種別の表示・非表示ajsrestoreコマンドで,退避ボックスの中に退避したジョブネットワーク要素の一覧を標準出力ファイルに出力する場合。※5
AJSCONVERTUTF8文字コード変換コマンドのリモート実行時に実行先ホストの環境変数LANGがja_JP.UTF-8またはja_JP.utf8の場合で,JP1/AJS2 - Managerの通信処理で文字コード変換を行わないとき。※6
注※1
「ジョブネットワーク要素を操作するコマンド」については,表1-11を参照してください。
注※2
環境変数はJP1_HOSTNAMEが設定されているかどうかで使用されるユーザーマッピングが異なります。
環境変数JP1_HOSTNAMEが設定されている場合,環境変数JP1_HOSTNAMEに設定された論理ホストに定義されているユーザーマッピングが使用されます。
環境変数JP1_HOSTNAMEが設定されていない場合,物理ホストに定義されているユーザーマッピングが使用されます。
論理ホストを参照する場合は,必ず環境変数JP1_HOSTNAMEを設定する必要があります。
物理ホストを参照する場合は,環境変数JP1_HOSTNAMEを設定しないでください。設定した場合,コマンドが失敗することがあります。
注※3
Windowsの場合,コマンド実行時のタイムゾーンをシステムのタイムゾーンと合わせてください。
注※4
環境変数AJSAUTOJUDGEの指定値に従って,プランニンググループの下にあるユニットの中から操作対象を選択します。
環境変数AJSAUTOJUDGEで指定する値を次に示します。
YES
自動的に選択して操作する場合に指定します。
コマンドに指定するユニット名は,プランニンググループの下のルートジョブネット名を省略して指定します。
NO
自動的に選択して操作しない場合に指定します。
指定したユニットに対して操作します。プランニンググループの下のルートジョブネット名を省略して指定することはできません。
AUTOまたは値の設定なし
ユニット名の指定方法に従って,自動的に選択して操作するかしないかを決定する場合に指定します。
  • 自動的に選択して操作する場合
    プランニンググループの下のルートジョブネット名を省略してユニット名を指定します。
  • 自動的に選択して操作しない場合
    プランニンググループの下のルートジョブネット名を省略しないでユニット名を指定します。この場合,指定したユニットが操作対象になります。
    ただし,プランニンググループの下のルートジョブネット名を省略して指定したパス名と,同じ名称のユニットが存在する場合,省略したものとして扱われ,操作対象のユニットが自動選択されます。
注※5
環境変数AJSDISPSUBUNITTYPEの指定値に従って,標準出力ファイルに出力する形式を決定します。
環境変数AJSDISPSUBUNITTYPEで指定する値を次に示します。
YES
ジョブグループ種別を出力します。
(出力形式)
退避ファイル名:退避元ジョブネットワーク要素名:退避ジョブネットワーク要素名:退避ジョブネットワーク要素種別(ジョブグループ種別)

(例)
0001:/group1:group2:g(p)

NOまたは値の設定なし
ジョブグループ種別を出力しません。
(出力形式)
退避ファイル名:退避元ジョブネットワーク要素名:退避ジョブネットワーク要素名:退避ジョブネットワーク要素種別

(例)
0001:/group1:p_group1:g

なお,ジョブネットワーク要素の種別とジョブグループの種別については,ajsprintコマンドの表1-33を参照してください。
注※6
コマンドのリモート実行先の環境変数LANGがja_JP.UTF-8またはja_JP.utf8の場合に,環境変数AJSCONVERTUTF8の指定値に従って,JP1/AJS2 - Managerの通信処理で文字コード変換を行うかどうかを指定します。
環境変数AJSCONVERTUTF8で指定する値を次に示します。
yesまたは値の指定なし
JP1/AJS2 - Managerの通信処理で文字コード変換を行う場合に指定します。
no
JP1/AJS2 - Managerの通信処理で文字コード変換を行わない場合に指定します。
コマンド投入元とリモート実行先の文字コードがUTF-8同士の場合は,「no」を指定してください。

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

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

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

環境変数名意味
AJSENVスケジュールに従ってジョブが起動されたことを識別できるようになります。
通常は,YESが設定されます。
AJSPRE_ST先行ジョブまたは先行ジョブネットの終了状態を表す文字が設定されます。
指定される文字を次に示します。
n:正常終了
w:警告終了
a:異常終了
先行ジョブや先行ジョブネットが複数ある場合は,異常のレベルの高いものが設定されます。先行ジョブや先行ジョブネットがない場合はn(正常終了)が設定されます。再実行時の開始ジョブの場合も,開始ジョブの先行ジョブやジョブネットの状態が設定されます。再実行によって先行ジョブやジョブネットの状態が正常終了や警告終了に変更されると,変更された値が設定されます。
AJSPRE_RC先行ジョブの戻り値(-2,147,483,648~2,147,483,647の値)が設定されます。先行ジョブが複数ある場合は,すべての戻り値の論理和が設定されます。先行ジョブがない場合は0が設定されます。再実行時の開始ジョブの場合は,前回実行したときの戻り値が設定されます。
AJSNETNAMEルートジョブネット名(899バイト以内の文字列)が設定されます。
AJSJOBNAMEジョブ名(930バイト以内の文字列)が設定されます。
AJSHOSTジョブの実行を依頼したマネージャーホスト名(255バイト以内の文字列)が設定されます。
AJS_AJSCONFジョブの実行を依頼したマネージャーホストのスケジューラーサービス名(30バイト以内の文字列)が設定されます。
AJSEXDATEルートジョブネットの実行開始予定日(yyyy/mm/ddの形式)が設定されます。ジョブネットの実行が遅延したり,翌日に再実行したりした場合でも,当初の実行予定日が設定されます。
AJSEXECIDジョブの実行ID(10バイト以内の文字列)が設定されます。
AJSEXECPID起動条件監視中世代の実行ID(10バイト以内の文字列)が設定されます。
なお,起動条件監視をしていない場合は値なしになります。
JP1_HOSTNAME論理ホストの場合だけ論理ホスト名が設定されます。※1
JP1JobName実行ファイル名,またはジョブ名(63バイト以内の文字列)が設定されます。QUEUEジョブまたはjpqjobsubコマンドでジョブ名を指定している場合はそのジョブ名が設定され,PCジョブ,UNIXジョブ,QUEUEジョブ,アクションジョブでジョブ名を指定していない場合は,実行ファイル名が設定されます。
実行ファイル名は,パス情報を除いたファイル名部分の先頭から63バイト分までの文字列が設定されます。
JP1JobIDジョブ番号(1~999,999の値)が設定されます。キューレスジョブの場合,内部で使用するID(10バイト以内の文字列)が設定されます。
JP1UserNameジョブをサブミットしたユーザー名(63バイト以内の文字列)が設定されます。
JP1_USERNAMEジョブをサブミットしたユーザー名(63バイト以内の文字列)が設定されます。
JP1UNCNameジョブを実行しているエージェントホスト名(255バイト以内の文字列)が設定されます。
JP1NBQSQueueNameジョブの登録先であるマネージャーホスト名(255バイト以内の文字列)とキュー名(63バイト以内の文字列)が「¥¥マネージャーホスト名¥キュー名」の形式で設定されます。
実行ホストを指定した場合はキュー名の代わりにエージェントホスト名(255バイト以内の文字列)が設定されます。ただし,キューレスジョブの場合は設定されません。
JP1NBQSClientName(Windows限定)ジョブを投入したクライアントコンピュータ名(15バイト以内の文字列)が設定されます。ただし,キューレスジョブの場合は設定されません。
JP1Priorityジョブの実行優先順位(UNIX版では1~5の値,Windows版では32,64,128のどれかの値(64(低),32(中),128(高)))が設定されます。
HOME(UNIX限定)ジョブに指定した実行ユーザーの,パスワードファイルに定義されているログインディレクトリが設定されます。実行ユーザーが指定されていない場合は,実行ユーザーとして,ジョブネットを登録したJP1ユーザーに対応するOSユーザーが設定されます。
SHELL(UNIX限定)ジョブを実行するための実行シェルが設定されます。実行シェルは次に示す優先順位に従って決定されます。ジョブの登録方法によって設定されるシェルが異なるため,注意が必要です。優先順位がいちばん高いのは1です。
ジョブネットから実行するジョブで[コマンド文]を指定していない場合
  1. ジョブに指定したスクリプトファイルの先頭行に書かれているシェル
  2. 実行ユーザーのパスワードファイルに定義されているログインシェル
  3. /bin/sh
ジョブネットから実行するジョブで[コマンド文]を指定している場合※2
  1. ジョブに指定した[コマンド文]の先頭行に書かれているシェル
  2. 実行ユーザーのパスワードファイルに定義されているログインシェル
  3. /bin/sh
jpqjobsubコマンドでジョブを実行する場合
  1. ジョブに指定したスクリプトファイルの先頭行に書かれているシェル
  2. jpqjobsubコマンドの-shlオプションに指定したシェル
  3. 実行ユーザーのパスワードファイルに定義されているログインシェル
  4. /bin/sh
LANG(UNIX限定)JP1/AJS2起動時の環境変数LANGの値が設定されます。
なお,Windows版JP1/AJS2は,通常,ユーザー環境変数を読み込みません。しかし,クラスタシステムをセットアップすると,MSCSの仕様によってユーザー環境変数を読み込みます。
LOGNAME(UNIX限定)ジョブに指定された実行ユーザーのユーザー名が設定されます。実行ユーザーが指定されていない場合は,実行ユーザーとして,ジョブネットを登録したJP1ユーザーに対応するOSユーザーが設定されます。
MAIL(UNIX限定)「/usr/mail/実行ユーザー名(ジョブに指定された実行ユーザー,またはジョブネットを登録したJP1ユーザーに対応するOSユーザー)」が設定されます。
PATH(UNIX限定)「/bin:/usr/bin」だけを設定します。※3
  • 記載されている環境変数は,ジョブ定義時に環境変数として使用することはできません。また,環境変数ファイルとして指定するファイル内で使用することもできません。
  • AIXの場合は,/etc/environmentの情報は引き継がれません。
  • 大文字・小文字にかかわらず,「JP1」,「AJS」,および「AJS2」から始まる環境変数は使用しないでください。
  • 環境変数TZはジョブ実行時には設定されません。環境変数TZが必要な場合は,ジョブ定義時に環境変数として設定したり,環境変数ファイルとして指定するファイル内に設定したりしてください。
  • 「AJS」で始まる環境変数は,ジョブネットからジョブを登録した場合だけ設定されます。サブミットジョブには設定されません。
注※1
UNIXの場合
  • ジョブの詳細定義の[実行先サービス]に「JP1/AJS2」を指定した場合
    jajs_spmdコマンドの-hオプションに指定した論理ホスト名が設定されます。
    -hオプションを省略した場合は,環境変数JP1_HOSTNAMEの値が設定されていれば,論理ホストとして値が引き継がれます。物理ホストの場合は,何も設定されません。
  • ジョブの詳細定義の[実行先サービス]に「JP1/AJS2 Queueless Agent」を指定した場合
    ジョブの実行先ホストが論理ホストであれば,ジョブの詳細定義の[実行ホスト]に指定された値を設定します。ジョブの実行先ホストが物理ホストであれば,何も設定されません。
Windowsの場合
  • ジョブの詳細定義の[実行先サービス]に「JP1/AJS2」を指定した場合
    論理ホストの場合は,JP1/AJS2サービス起動時に環境変数JP1_HOSTNAMEに論理ホスト名を設定します。物理ホストの場合は,何も設定されません。
  • ジョブの詳細定義の[実行先サービス]に「JP1/AJS2 Queueless Agent」を指定した場合
    ジョブの実行先ホストが論理ホストであれば,ジョブの詳細定義の[実行ホスト]に指定された値を設定します。ジョブの実行先ホストが物理ホストであれば,何も設定されません。
注※2
[コマンド文]を指定している場合,[スクリプトファイル名]に指定したスクリプトファイルの先頭行にシェルが記述されていても有効になりません。
注※3
JP1/AJS2からジョブを起動した場合,JP1/AJS2が明示的に環境変数PATHに「/bin:/usr/bin」を設定しています。それ以外の値を設定したい場合はジョブ定義時に指定したコマンドやスクリプトファイルでの定義,またはローカルログインスクリプトでの定義で設定するようにしてください。

環境変数には,JP1/AJS2で設定されるもの(表1-7の環境変数,ジョブ定義時に指定した環境変数,ジョブ定義時に環境変数ファイルとして指定したファイル内の環境変数)のほかに,ジョブ定義時に指定したコマンド文やスクリプトファイル,ローカルログインスクリプト,システムログインスクリプトにも設定できます。これらの中で同じ環境変数があった場合,次に示す優先順位に従って有効になります(優先順位がいちばん高いのは1です)。

注意事項
Windowsの場合,通常,JP1/AJS2サービス起動時にはシステム環境変数の設定が有効になり,ユーザー環境変数は読み込まれません。ジョブ実行時には,このシステム環境変数が使用されます。ただし,クラスタシステムをセットアップした論理ホストでは,システム起動時にMSCSがユーザー環境変数を読み込みます。MSCSから起動した論理ホストのJP1/AJS2サービスでは,ユーザー環境変数が有効になり,ジョブ実行時にもユーザー環境変数が使用されます。
なお,JP1/AJS2サービス起動時に読み込まれる環境変数には,システム環境変数のほかに,OSが起動するときに設定する環境変数も含まれます。
注※
Windows Server 2008を使用している場合は,フェールオーバークラスタが該当します。MSCSまたはフェールオーバークラスタ以外のクラスタソフトについては仕様を確認してください。