Systemwalker Operation Manager リファレンスマニュアル - UNIX/Windows(R)共通 - |
目次 索引 |
第18章 出口情報 |
ジョブスケジューラに登録してあるジョブが終了した場合に呼び出される、出口プログラムについて説明します。
jobexit.bat、jobexit.exeの順に出口プログラムが検索され、見つかった出口プログラムが呼び出されます。jobexit.batが見つかった場合、jobexit.exeが存在しても呼び出されません。
利用者がこれらの出口を利用して、独自の処理を行いたい場合は、同名の出口プログラムを作成して、Systemwalker Operation Managerをインストールしたディレクトリ配下のMpWalker.JM\binディレクトリに格納してください。
jobsch.job.exitの出口プログラムが検索され、見つかった出口プログラムが呼び出されます。
利用者がこれらの出口を利用して、独自の処理を行いたい場合は、同名の出口プログラムを作成して、ジョブスケジューラをインストールしたディレクトリのbinディレクトリに格納してください。
出口プログラムに渡されるパラメタは、以下のとおりです。
argc : パラメタの数(5) (注1) |
一時ファイルには、ジョブ情報が以下のように格納されます。
ジョブ名 |
上図の各情報について説明します。
ジョブとして子ジョブネットが登録されている場合、子ジョブネットのジョブネット名が格納されます。
一時ファイルは、以下のディレクトリに作成されます。
一時ファイルは、ジョブスケジューラ側では削除しないので、出口プログラムで削除する必要があります。出口が登録されていない場合は、一時ファイルは作成されません。
先行ジョブの終了コードによる後続ジョブの起動条件を指定している場合に、パス状態で終了したジョブは、ジョブ終了出口が起動されません。
ジョブ終了出口のプログラム例を以下に示します。
/* ジョブ終了時に、"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); }
/* コンソールに、ジョブが終了したというメッセージが、ジョブ名および 終了コードと共に出力される、ジョブ終了出口のプログラム例(Solaris版) */ #include <syslog.h> #include <stdio.h> main(int argc, char **argv) { FILE *fp; char jobname[100]; char jobcode[100]; memset(jobname, 0x00, sizeof(jobname)); memset(jobcode, 0x00, sizeof(jobcode)); fp = fopen(argv[4], "r"); fgets(jobname, sizeof(jobname), fp); jobname[strlen(jobname)-1] = '\0'; fgets(jobcode, sizeof(jobcode), fp); jobcode[strlen(jobcode)-1] = '\0'; fclose(fp); openlog("jobsch", LOG_CONS, LOG_USER); syslog(LOG_WARNING, "WARNING: job end. project=%s, net_name=%s, net_comment=%s, job_name=%s, job_code=%s", argv[1], argv[2], argv[3], jobname, jobcode); closelog(); unlink(argv[4]); exit(0); }
目次 索引 |