7.11.3 ジョブの終了コードを確認する
ジョブの終了コードは,JP1/AJS3 - Viewの[モニタ詳細−[アイコン名]]ダイアログボックス,またはjpqjobgetコマンドで出力したジョブ情報のEXITCODEなどで確認できます。ジョブの終了コードには,通常,正常終了では「0」,異常検出終了では起動したジョブプロセスの終了コードが設定されます。ただし,次の表に示す場合は,JP1/AJS3によって終了コードが設定されます。
- 注※
-
ジョブプロセスが終了したあとのJP1/AJS3側のあと処理で何か問題が発生した場合(例えば,マネージャーホストへの結果ファイルの転送失敗など)は,ジョブプロセスのリターンコードがJP1/AJS3によって「-1」に上書きされ,異常検出終了になります。
- 注意事項
-
-
PCジョブおよび実行ホストがWindowsのフレキシブルジョブの場合は,起動したジョブプロセス自身がリターンコードとして「-1」を返すこともできます。また,UNIXジョブおよび実行ホストがLinuxのフレキシブルジョブでは負の値で終了すると,終了コードは,256 + 負の値と扱われます。例えば,ジョブプロセスが「-1」で終了した場合,終了コードは,256 - 1 = 255となります。したがって,ジョブプロセスによって設定された終了コードなのか,JP1/AJS3によって設定された終了コードなのかを判別する必要がある場合は,ユーザーアプリケーションなどで設定する終了コードには「-1」および「255」を使用しないようにしてください。
-
UNIXジョブおよび実行ホストがLinuxのフレキシブルジョブの場合は,ジョブの実行に先立ってログインスクリプトが実行されます。したがって,ログインスクリプト内で処理が終了した場合は,ログインスクリプトで設定された終了コードが設定されます。ログインスクリプト内で処理が異常終了することがないようにしてください。なお,ログインスクリプトの変更方法については,マニュアル「JP1/Automatic Job Management System 3 構築ガイド 13.4.2 ログインスクリプトの変更」を参照してください。
-
フレキシブルジョブの場合に,終了判定方法で次のどれかを選択し,選択した終了条件が満たさなかったときは,終了コードは「1」になります。
・[ファイルが存在すれば正常]
・[ファイルが更新されれば正常]
-
ジョブの終了コードには,ユーザーアプリケーションやJP1/AJS3以外にOSが設定するものがあります。代表的な終了コードを次の表に示します。これらの終了コードはOSのアップグレードなどによって変更になる場合もあるため,使用しているOSの技術情報を確認してください。
OS |
終了コード |
原因 |
対処方法 |
---|---|---|---|
Windows |
259または-1 |
結果ファイルのオープンに失敗していることが考えられます。この場合は,同時に次に示すどちらかのメッセージが出力されます。
|
ジョブとして実行するプログラム内でオープンするファイル,またはバッチファイル内のリダイレクションでオープンするファイルを,ジョブを登録するときの標準出力ファイル,または標準エラー出力ファイルとして指定しないでください。ただし,プログラム内で関数を使用してオープンする場合に限って,共有の読み取りまたは共有の書き込みを許可する設定でオープンすることによって回避することもできます。 |
128 |
デスクトップヒープの領域不足が考えられます。この場合は,同時に次に示すどちらかのメッセージが出力されます。
|
デスクトップヒープ領域の消費を少なくしたい場合は,ジョブを実行するユーザーのアカウントを,「JP1/AJS3サービス」のアカウントと同じにして運用してください。 |
|
UNIX |
シグナル番号+128 |
ジョブプロセスから起動したプログラムがシグナルを受信したことが考えられます。※ |
次に示すどちらかの方法で対処してください。
|
- 注※
-
ジョブプロセス自身がシグナルを受信すると,実行先サービスが[通常]のジョブは,終了コード「-1」で終了状態「強制終了」になります。また,実行先サービスが[キューレス]のジョブは,終了コード「-1」で終了状態「異常検出終了」になります。
(1) フレキシブルジョブの終了コード
フレキシブルジョブを実行したときの終了コードを次の表に示します。
なお,フレキシブルジョブの一斉実行を使用している場合,複数ある宛先エージェントでの終了コードのうち,最も大きい値が終了コードになります。ただし,終了コードが-1の宛先エージェントがあるとき,終了コードは-1になります。
終了コード |
内容 |
対応するメッセージ |
---|---|---|
ユーザーアプリケーション(実行ファイル)が設定する終了コード |
終了判定が「常に正常」,「常に異常」および「しきい値による判定」のとき,JP1/AJS3の処理が正常に終了した。 |
KAVS8138-I KAVS8140-I |
0 |
終了判定が「ファイルが存在すれば正常」または「ファイルが更新されれば正常」のとき,判定条件を満たした。 |
|
1 |
終了判定が「ファイルが存在すれば正常」または「ファイルが更新されれば正常」のとき,判定条件を満たさなかった。 |
|
-1 |
監視終了時間を超過した。 |
KAVS8101-E |
リソースが不足している。 |
KAVS8102-E |
|
JP1/AJS3 Autonomous Agent Messengerサービスと通信不可。 |
KAVS8100-E |
|
システムエラー。 |
KAVV8106-E |
|
実行ファイルが存在しない。 |
KAVS8108-E |
|
実行ファイルに対して権限がない。 |
KAVS8109-E |
(2) HTTP接続ジョブの終了コード
HTTP接続ジョブを実行したときの終了コードを次の表に示します。
終了コード |
内容 |
対応するメッセージ |
---|---|---|
0 |
終了コードを指定している場合,正常終了(0に指定したHTTPステータスコード)。 終了コードを指定していない場合,正常終了(HTTPステータスコード200)。 |
KAVS8050-I |
1〜9 |
終了コードを指定している場合,正常終了で指定したHTTPステータスコードに対応する終了コード。 |
KAVS8050-I |
10 |
正常終了(終了コード指定に定義していないHTTPステータスコードで,かつHTTPステータスコードが200以外)。 |
KAVS8050-I |
20 |
タイムアウトが発生した。 |
KAVS8061-E |
30 |
接続先ホストの名前解決に失敗した。 |
KAVS8054-E |
40 |
ファイルアクセスでその他のエラーが発生した。 |
KAVS8053-E |
60 |
パラメーターエラー。 ジョブの定義項目に誤りがある(不正な長さ,不正な値)。 |
KAVS8051-E |
64 |
接続設定ファイルの構文エラー。 |
KAVS8052-E |
70 |
URLの指定に誤りがある。 URLの参照先にリソースがない。 GETメソッド呼び出し時の送信情報ファイルに改行コードが含まれている。 |
KAVS8060-E |
80 |
ファイルが存在しない。 ディレクトリを指定した。 |
KAVS8053-E |
81 |
ファイルアクセスで権限エラーが発生した。 ディレクトリを指定した。 |
KAVS8053-E |
90 |
環境設定パラメーターの読み込みに失敗した。 |
KAVS8063-E |
101 |
接続先ホストへの接続に失敗した。 |
KAVS8056-E |
102 |
接続先ホストとの通信でエラーが発生した。 |
KAVS8057-E |
106 |
レスポンスデータが接続設定ファイルで指定した最大ファイルサイズを超えている。 |
KAVS8059-E |
110 |
HTTPS認証の処理でエラーが発生した。
|
KAVS8062-E |
120 |
メモリー不足が発生した。 |
KAVS0902-E |
124 |
予期せぬエラーが発生した。 HTTP接続ジョブの実行に必要なライブラリがロードできなかった。 |
KAVS8058-E KAVS0990-E |
(3) イベントジョブ,カスタムイベントジョブおよびアクションジョブの終了コード
イベントジョブ,カスタムイベントジョブおよびアクションジョブが,実行しているとき(ジョブプロセスが起動されてから終了するまで)に設定される終了コードについては,「付録A イベントジョブ,カスタムイベントジョブおよびアクションジョブ実行時の戻り値一覧」を参照してください。