| Systemwalker Operation Manager リファレンスマニュアル - UNIX共通 - - Microsoft(R) Windows(R) 2000/Windows Server(TM) 2003 - | 
| 目次
			索引    | 
| 第18章 出口情報 | 
ジョブスケジューラに登録してあるジョブネットが正常終了、疑似正常、異常終了または強制終了した場合に呼び出される、出口プログラムについて説明します。
ジョブネットが正常終了または疑似正常終了したときは、normalexit.bat、normalexit.exeの順に出口プログラムが検索され、見つかった出口プログラムが呼び出されます。normalexit.batが見つかった場合、normalexit.exeが存在しても呼び出されません。
ジョブネットが異常終了または強制終了したときは、jobschexit.bat、jobschexit.exeの順に出口プログラムが検索され、見つかった出口プログラムが呼び出されます。jobschexit.batが見つかった場合、jobschexit.exeが存在しても呼び出されません。
利用者がこれらの出口を利用して独自の処理を行いたい場合は、同名の出口プログラムを作成して、Systemwalker Operation Managerをインストールしたディレクトリ配下のMpWalker.JM\binディレクトリに格納してください。
ジョブネットが正常終了または疑似正常したときは、jobsch.exit.normalの出口プログラムが検索され、見つかった出口プログラムが呼び出されます。
ジョブネットが異常終了または強制終了したときは、jobsch.exitの出口プログラムが検索され、見つかった出口プログラムが呼び出されます。
利用者がこれらの出口を利用して独自の処理を行いたい場合は、同名の出口プログラムを作成して、ジョブスケジューラをインストールしたディレクトリのbinディレクトリに格納してください。
出口プログラムに渡されるパラメタは、以下のとおりです。
| argc : パラメタの数(7)                (注1) | 
注1) Systemwalker Operation Manager EEの場合、パラメタの数は8になりま
      す。
注2) Systemwalker Operation Manager EEのパラメタです。
一時ファイルには、ジョブネット内の個々のジョブについての情報が、以下のように格納されます。ジョブ名/終了コード/状態がジョブ1個分の情報です。
| ジョブ名 | 
上図の各情報について説明します。
一時ファイルは、以下のディレクトリに作成されます。
一時ファイルは、ジョブスケジューラ側では削除しないので、出口プログラムで削除する必要があります。
出口が登録されていない場合は、一時ファイルは作成されません。
先行ジョブの終了コードによる後続ジョブの起動条件を指定している場合に、パス状態で終了したジョブは、以下のようになります。
ジョブネット異常終了出口のプログラム例を以下に示します。
/*  ジョブネット異常終了時に、"KANRI”サーバに以下のメッセージを送信する
              ジョブネット名 is abended !! code = 終了コード*/
#include <stdio.h>
#include <process.h>
main(int argc, char *argv[])
{
    char cmdline[256];
    sprintf(cmdline,
            "NET SEND KANRI %s is abended !! code = %s",
            argv[2],    //ジョブネット名
            argv[4]);   //終了コード
    system(cmdline);
    unlink(argv[6]);    // temp ファイルを削除
    exit(0);
}
/*
  コンソールに、ジョブネットが異常終了したというメッセージが
  ジョブネット名および終了コードと共に出力される、ジョブネット
  異常終了出口のプログラム例(Solaris版) 
*/
#include <syslog.h> 
#include <stdio.h>
main(int argc, char **argv) 
{
    openlog("jobsch", LOG_CONS, LOG_USER);
    syslog(LOG_WARNING, 
        "WARNING: jobnet abnormal end. project=%s, net_name=%s, net_comment=%s, net_code=%s", 
        argv[1], argv[2], argv[3], argv[4]);
    closelog(); 
    unlink(argv[6]);
    exit(0);
}
| 目次
			索引    |