| Systemwalker Operation Manager リファレンスマニュアル - Microsoft(R) Windows NT(R)/Windows(R) 2000/Windows Server(TM) 2003 - |
目次
索引
![]()
|
| 第15章 出口情報 |
ジョブスケジューラに登録してあるジョブが終了した場合に呼び出される、出口プログラムについて説明します。
jobexit.bat、jobexit.exeの順に出口プログラムが検索され、見つかった出口プログラムが呼び出されます。jobexit.batが見つかった場合、jobexit.exeが存在しても呼び出されません。
利用者がこれらの出口を利用して、独自の処理を行いたい場合は、同名の出口プログラムを作成して、Systemwalker Operation Managerをインストールしたディレクトリ配下のMpWalker.JM\binディレクトリに格納してください。
出口プログラムに渡されるパラメタは、以下のとおりです。
|
argc : パラメタの数(5) (注1) |
注1) Systemwalker Operation Manager EEの場合、パラメタの数は6になりま
す。
注2) Systemwalker Operation Manager EEのパラメタです。
一時ファイルには、ジョブ情報が以下のように格納されます。
|
ジョブ名 |
上図の各情報について説明します。
ジョブとして子ジョブネットが登録されている場合、子ジョブネットのジョブネット名が格納されます。
なお、一時ファイルは、ファイル名Extnnn.tmp(nnnはシステムが付加)で、ジョブスケジューラのデータベースディレクトリ配下のworkディレクトリに作成されます。一時ファイルは、ジョブスケジューラ側では削除しないので、出口プログラムで削除する必要があります。出口が登録されていない場合は、一時ファイルは作成されません。
先行ジョブの終了コードによる後続ジョブの起動条件を指定している場合に、パス状態で終了したジョブは、ジョブ終了出口が起動されません。
ジョブ終了出口のプログラム例を以下に示します。
/* ジョブ終了時に、"KANRI”サーバに以下のメッセージを送信する
ジョブ名 is ended !! code = 終了コード
*/
#include <stdio.h>
#include <string.h>
#include <process.h>
main(int argc, char *argv[])
{
FILE *fp;
char jobname[100];
char jobcode[100];
char cmdline[256];
fp = fopen(argv[4], "r");
fgets(jobname, 99, fp);
jobname[strlen(jobname)] = '\0';
fgets(jobcode, 99, fp);
jobcode[strlen(jobcode)] = '\0';
fclose(fp);
sprintf(cmdline,
"NET SEND KANRI %s is ended !! code = %s",
jobname, //ジョブ名
jobcode); //終了コード
system(cmdline);
unlink(argv[4]); // temp ファイルを削除
exit(0);
}
目次
索引
![]()
|