Systemwalker Operation Manager 使用手引書 - UNIX/Windows(R)共通 -
目次 索引 前ページ次ページ

付録B 留意事項> B.5 ジョブの実行に関して知っていただきたいこと

B.5.2 ジョブの実行環境について

■ジョブの実行ディレクトリについ【UNIX版】

UNIX版では、ジョブをジョブネットに登録する時に“ディレクトリ”を指定しなかった場合、ジョブネットの実行属性が“旧バージョン互換(旧・標準)”の場合は、ジョブはジョブ登録者のホームディレクトリで実行されます。“ジョブ実行制御”属性の場合は、ジョブはジョブネットを登録したプロジェクトの所有者のホームディレクトリで実行されます。

■環境変数につい

UNIX版の場合、ジョブが起動する前に環境変数(HOME、SHELL、LOGNAME、USER、MAIL、PWD)がパスワードファイルから設定されます。ディレクトリ名はPWD環境変数に設定されます。HOME環境変数には、ホームディレクトリ名が設定されます。SHELL環境変数に設定される値は、後で説明する“シェル戦略を考える”に従って設定されます。

なお、ネットワークジョブの場合、“ジョブスケジューラが設定する環境変数について”および“ジョブ実行制御が設定する環境変数について”に示す環境変数は引き継がれません。

ネットワークジョブの場合、スケジュールサーバおよび実行サーバが、共にSystemwalker OperationMGR V10.0L20/10.1以降のときは、[登録/監視−ジョブ]ウィンドウ−[詳細情報]シートの[環境変数]において設定された環境変数は、ネットワークジョブに引き継がれます。(スケジュールサーバおよび実行サーバが、共にSystemwalker OperationMGR V10.0L20/10.1以降でない場合、これらの環境変数は引き継がれません。)

ジョブスケジューラが設定する環境変数につい

ジョブスケジューラは、ジョブを起動する前に、以下に示す環境変数に値を設定します。先行ジョブの種類や終了コードなどの違いにより後続ジョブの処理を変えたいような場合には、これらの環境変数の値を利用してください。

USERDOMAIN環境変

接続先のサーバがWindowsの場合は、プロジェクトの所有者のドメイン名が格納されています。ドメイン名が指定されていない場合は、環境変数の値は省略されます。

接続先のサーバがUNIXの場合は、環境変数の値は省略されます。

JOBSCH_PROJECT環境変

ジョブネットが登録されているプロジェクト名が格納されています。

JOBSCH_JOBNET環境変

ジョブネット名が格納されています。

JOBSCH_JOBNAME環境変

ジョブの登録情報に、ジョブ実行制御へ渡すジョブ名が登録されている場合は、そのジョブ名が格納されます。ジョブ名が登録されていない場合には、[登録−ジョブ]ウィンドウで登録された実行ファイルの情報(qsubコマンドのオプションおよび実行ファイルのパラメタを含む)が格納されています。

JOBSCH_JOBNET_DATE環境変

ジョブネットが何日付けの構成で起動しているかを示す値が格納されています。値は年月日の形式“yyyymmdd”で格納されます。

JOBSCH_ENVIRONMENT環境変

文字列“BATCH”が格納されています。

さらに、先行ジョブのあるジョブの場合、以下の環境変数に値が設定されます。ただし、先行ジョブが複数ある場合は、そのジョブの起動の契機となったジョブ(先行ジョブのうち、最後に実行したジョブ)の情報が設定されます。

JOBSCH_PRE_JOBNAME環境変

先行ジョブの登録情報に、ジョブ実行制御へ渡すジョブ名が登録されている場合は、そのジョブ名が格納されます。ジョブ名が登録されていない場合には、[登録−ジョブ]ウィンドウで登録された実行ファイルの情報(qsubコマンドのオプションおよび実行ファイルのパラメタを含む)が格納されています。ただし、先行ジョブが複数ある場合は、そのジョブの起動の契機となったジョブ(先行ジョブのうち、最後に実行が終了したジョブ)の情報が設定されます。

JOBSCH_PRE_JOBCODE環境変

先行ジョブの終了コードが格納されています。

ただし、先行ジョブが複数ある場合は、そのジョブの起動の契機となったジョブ(先行ジョブのうち、最後に実行が終了したジョブ)の情報が設定されます。

[EE/GEE]
JOBSCH_SUB_SYSTEM環境変

複数のサブシステムが動作する環境において、サブシステム番号が格納されています。

LANG環境変数【UNIX版

動作する言語種別を表す値(C、ja、ja_JP.PCKなど)が格納されています。

ジョブスケジューラデーモンは、LANG環境変数にCを設定して動作しています。このため、ジョブの実行ユーザのスタートアップシェル(.login .cshrc .profile)、ジョブ、またはアプリケーション内にLANG環境変数が設定されていない場合、LANG環境変数にCが設定された状態でジョブまたはアプリケーションが動作します。

LANG環境変数にC以外を設定して動作させたい場合は、LANG環境変数に、以下のように値を設定してください。

ログインシェルがcshの場合の設定例(Solarisの場合)
.login または、.cshrcに以下の設定をします。
ログインシェルがshまたはkshの場合の設定例(Solarisの場合)
.profileに以下の設定をします。

なお、ジョブネットの実行属性が“ジョブ実行制御”の場合で、ジョブの実行を他ホストへ依頼する場合(ネットワークジョブの場合)および、ジョブネットの実行属性が“PowerAIM”の場合は、環境変数は設定されません。

ジョブ実行制御が設定する環境変数につい

ジョブ実行制御は、ジョブを起動する前に、以下に示す環境変数に値を設定します。先行ジョブの種類や終了コードなどの違いにより後続ジョブの処理を変更したいような場合には、これらの環境変数の値を利用してください。

JC_CHOST環境変

クライアントホスト名が格納されます。[ジョブ情報編集/投入]ダイアログボックス/ウィンドウまたは、[ジョブ選択/投入]ウィンドウから投入された場合に設定されます。

JC_CUSER環境変

ジョブ所有者名が格納されています。

JC_COMMENT環境変

ジョブコメントが格納されています。

JC_EXHOST環境変

実行ホスト名が格納されています。

JC_JOBID環境変

ジョブ番号が格納されています。

JC_JOBNAME環境変

ジョブ名が格納されています。

JC_QUEUE環境変

キュー名が格納されています。

QSUB_WORKDIR環境変

ジョブ投入ディレクトリ名が格納されています。

[EE/GEE]
JC_SUBSYSID環境変

複数のサブシステムが動作する環境において、サブシステム番号が格納されています。

■アプリケーションが参照できる環境変【Windows版】

Systemwalker Operation Managerから起動されるアプリケーションが参照できる環境変数を、ジョブの投入方法別(スケジュールジョブ、qsubコマンド、Mp_SubmitJob API)に示します。

ユーザ個別情報となるユーザ環境変数、およびautoexec.batで設定している環境変数は、Systemwalker Operation Managerから起動されるアプリケーションで参照することはできません。

アプリケーションがユーザ環境変数に登録された環境変数を使用する場合、Systemwalker Operation Managerからそのアプリケーションを実行させるには、以下のいずれかの対処が必要です。

また、ネットワークジョブの場合は、ジョブスケジューラが設定する以下の環境変数を参照することができません。

参照できる環境変数の数は、最大512です。

環境変数の数が512を超えた場合、不特定の環境変数を参照できなくなることがあるため、以下に示す環境変数の中から不要なものを削除し、環境変数の数が512以下となるようにしてください。

■アプリケーションが作成する一時ファイルの格納場所につい【Windows版】

多くのアプリケーションは、そのアプリケーションが実行中に作成する一時ファイルを以下に示す環境変数に設定されたパスに作成します。

これらの環境変数をシステム環境変数に登録することを推奨します。

環境変数名

環境変数に設定する値の例

temp

c:\temp(注)

tmp

c:\temp(注)

注)
一般的に作業用の一時ファイルを作成するディレクトリとして使用されるパスです。十分な空き容量が確保されているドライブに作成し、環境変数 TEMPおよびTMPにパス名を登録します。

■システム環境変数の更新につい【Windows版】

Systemwalker Operation Managerは、システム起動時に登録されているシステム環境変数を使用してアプリケーションを起動します。そのため、システム環境変数に追加、更新、および削除した環境変数をアプリケーションで参照するには、システムを再起動する必要があります。

■umaskの値につい【UNIX版】

ジョブ実行制御デーモンは、umaskの値に0000を設定して動作しています。そのため、ジョブの実行ユーザのシェルのスタートアップファイル(注)、またはアプリケーション内でumaskの値が設定されていない場合、umaskの値に0000が設定された状態でアプリケーションが動作します。

アプリケーションが作成するディレクトリ/ファイルに任意のアクセス権モードを設定するには、シェルのスタートアップファイル、またはアプリケーション内で適切なumaskの値を設定してください。

注)
[実行ユーザのログインシェルがshまたはkshの場合]

/etc/profile 、および実行ユーザのホームディレクトリの.profile

[実行ユーザのログインシェルがcshの場合]

/etc/.login,実行ユーザのホームディレクトリ.login 、および同ディレクトリの.cshrc


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 1995-2007