アプリケーションが動作する作業用のディレクトリを割り当てることができます。
作業ディレクトリ(カレントディレクトリ)はプロセスごとに作成されます。アプリケーション異常時に出力されるcoreファイルは、このディレクトリ上に出力されます。また、アプリケーションが動作しているディレクトリ上にファイルなどを出力している場合、このディレクトリ上に出力されます。
カレントディレクトリはワークユニット定義の「Current Directory」ステートメントに指定します。
カレントディレクトリは以下のディレクトリ名で作成されます。
作成されるディレクトリ |
|
xxx:ワークユニット定義で指定されたカレントディレクトリ
yyy:該当ワークユニット名
zzz:アプリケーションの実行プロセスID
例
カレントディレクトリが/var/tmp、ワークユニット名が“WU”、プロセスIDが“111”の場合以下のディレクトリが作成されます。
/var/tmp/WU/111 |
カレントディレクトリがC:\tmp、ワークユニット名が“WU”、プロセスIDが“111”の場合以下のディレクトリが作成されます。
C:\tmp\WU\111 |
カレントディレクトリはワークユニットの起動時に作成されます。このとき、前回使用したカレントディレクトリは、以下のディレクトリ名に変名されてバックアップされます。本機能によりワークユニット再起動後も後述のカレントディレクトリ配下の標準出力ファイル(stdout)、標準エラー出力ファイル(stderr)およびcoreファイルが保存されるため、トラブル発生時に業務の復旧を優先し、ワークユニットの再起動を行った場合でも調査資料が採取可能となります。省略値は1世代で、最大5世代までバックアップすることができます。バックアップ世代数はワークユニット定義の「Number of Revision Directories」ステートメントに設定します。
“ワークユニット名.oldn” |
n:世代数(1~5)
ワークユニットでは動作するアプリケーションの標準出力および標準エラー出力を標準出力ファイル(stdout)および標準エラー出力ファイル(stderr)に出力します。使用者は、これらのファイルを参照することで、アプリケーションから出力されたプロセスの情報を確認することができます。
標準出力ファイルおよび標準エラー出力ファイルは以下のとおり作成されます。
標準出力ファイル |
|
標準エラー出力ファイル |
|
xxx:ワークユニット定義で指定されたカレントディレクトリ
yyy:該当ワークユニット名
zzz:アプリケーションの実行プロセスID
標準出力には、stdoutファイルが割り当てられています。アプリケーションで標準出力にデータを出力した場合に、出力先として使用されます。
標準エラー出力には、stderrファイルが割り当てられています。アプリケーションで標準エラー出力にデータを出力した場合に、出力先として使用されます。
注意
OSの標準入出力ライブラリの仕様により、標準出力および標準エラー出力に出力したデータは一旦標準入出力ライブラリにバッファリングされます。バッファリングされたデータを確実にstdout,stderrファイルに出力させるためには標準出力および標準エラー出力に対してデータを強制的に書き出す処理(フラッシュ)を行う必要があります。
たとえば、C言語のアプリケーションであれば、fflush(stdout),fflush(stderr)を発行してください。フラッシュを行わない場合は標準入出力ライブラリによってバッファリングされたデータがフラッシュされるまでstdout,stderrファイルにデータが出力されません。