jp1exec(Windows限定)
形式
jp1exec コマンドライン
機能
コマンドラインに指定されたプログラム(コマンド)を実行し,実行したプログラムの終了コードを一時的にファイルに退避します。一時ファイルについては,後述の「補足事項」を参照してください。
このコマンドは,実行ホストでジョブとして実行されるバッチファイル(拡張子がBAT,またはCMDのファイル)内で使用します。通常,ジョブを強制終了した場合,ジョブとして実行されたバッチファイルは強制終了しますが,バッチファイルから実行したプログラムまでは強制終了しません。バッチファイルから実行するプログラムをjp1execコマンドから実行すると,バッチファイルが強制終了された場合,jp1execコマンドから実行されたプログラムも強制終了されます。また,バッチファイルの最後にjp1exitコマンドを記述すると,jp1execコマンドで実行したプログラムの終了コードをそのバッチファイルの終了コードにできます。
実行権限
なし
引数
コマンドライン
実行ホスト上にあるジョブとして実行したいファイル名をフルパスで指定します。実行したいファイル名の引数(パラメーター)も指定できます。指定できるファイル名は,拡張子がEXEのファイルだけです。EXE以外のファイルを指定した場合は,該当するジョブが異常検出終了となるおそれがあります。
指定できる文字数は,1〜259(単位:バイト)です。
第1引数の文字数が最大文字数を超えた場合,およびコマンドラインのトータルの文字数が最大文字数を超えた場合で動作が異なります。
-
第1引数の文字数が最大文字数を超えた場合
コマンドはエラーとなります。
-
コマンドラインのトータルの文字数が最大文字数を超えた場合
スペースで区切られた個所で,コマンドラインのトータルの文字数を超えた個所以降を切り捨てて実行します。
- (例)
-
jp1exec C:\test.exe aaa...a
C:\test.exe aaa...aが最大文字数を超える場合は,aaa...aを切り捨てて,C:\test.exeで実行します。
注意事項
-
このコマンドはWindowsだけで実行できます。UNIXでは実行できません。
-
このコマンドはJP1/AJS3だけで使用できます。JP1/AJS3からJP1/NQSEXECやJP1/OJE for VOS3への要求などには使用できません。
-
一つのバッチファイル内に複数のjp1execコマンドを記述している場合,最後にjp1execコマンドで実行されたプログラムの終了コードが,そのバッチファイルの終了コードとして一時ファイルに退避されます。
-
このコマンドに指定できるファイルは,拡張子がEXEのファイルだけです。EXE以外のファイルを指定した場合は,ジョブが異常終了するおそれがあります。バッチファイルから別のバッチファイルを呼び出す場合は,次のように記述してください。
jp1exec CMD.EXE /C ファイル名
ただし,上記のバッチファイルを強制終了(CMD.EXEを強制終了)しても,バッチファイル内で起動されるプログラムは強制終了されません。このバッチファイル内で起動されるプログラムを強制終了したい場合は,jp1execコマンドでプログラムを実行してください。
jp1execコマンドから呼び出すEXEファイルやバッチファイルは,標準出力ファイル,標準エラー出力ファイルに結果をリダイレクトすることはできません。
-
ジョブとして実行しているバッチファイルの中でさらにバッチファイルを実行し,その中でjp1execコマンドを実行している場合は,ジョブとして実行しているバッチファイルを強制終了することで,そのバッチファイル内のjp1execコマンドで実行しているプロセスを強制終了できます。
-
jp1exitコマンドを記述しないと,jp1execコマンドの終了コードがバッチファイルの終了コードとなります。jp1execコマンドの終了コードは,jp1execコマンドから実行されたプログラムの終了コードではなく,jp1execコマンドの終了コードです。jp1execコマンドから実行されたプログラムの終了コードはjp1exitコマンドで取得できます。jp1exitコマンドの詳細については,「3. 通常の運用で使用するコマンド jp1exit(Windows限定)」を参照してください。
-
バッチファイルの中でTMP,TEMP,JP1から始まる環境変数,およびAJSから始まる環境変数を変更しないでください。
-
jp1execコマンドに指定するファイルのパス名に空白が含まれるときは,パス名を「"(ダブルクォーテーションマーク)」および「\"」で囲んでください。囲まない場合,コマンドが異常終了するおそれがあります。
実行ファイル名が「C:\Program Files\test.exe」の場合の例を次に示します。
jp1exec "\"C:\Program Files\test.exe\""
-
このコマンドを実行する場合は,次のフォルダにジョブを実行するOSユーザーの書き込み権限および読み取り権限を設定してください。
JP1/AJS3のインストール先フォルダがデフォルトまたはシステムで保護されたフォルダ配下のとき
-
%ALLUSERSPROFILE%\Hitachi\JP1\JP1_DEFAULT\JP1AJS2\log\jpqagent
-
%ALLUSERSPROFILE%\Hitachi\JP1\JP1_DEFAULT\JP1AJS2\log\jpqclient
「%ALLUSERSPROFILE%」のデフォルトは「システムドライブ\ProgramData」です。
JP1/AJS3のインストール先フォルダが上記以外のとき
-
JP1/AJS3のインストール先フォルダ\log\jpqagent
-
JP1/AJS3のインストール先フォルダ\log\jpqclient
クラスタ運用のとき
-
共有フォルダ\jp1ajs2\log\jpqagent
-
共有フォルダ\jp1ajs2\log\jpqclient
-
補足事項
jp1execコマンドを使用する場合は,jp1exitコマンドを必ず記述してください。jp1exitコマンドを記述しなかった場合,ジョブ実行終了後,ジョブ実行ホスト上にファイル名がAJSJP1EXECで始まるファイルが残ります。このファイルは不要のため,削除してください。
このファイルは,次の順序で各環境変数の最初に設定されているパス内に作成されます。どの環境変数にもパスが設定されていない場合は,Windowsのインストール先フォルダに作成されます。
-
JP1/AJS3サービスを起動したユーザー※の環境変数tmp
-
システム環境変数tmp
-
JP1/AJS3サービスを起動したユーザー※の環境変数temp
-
システム環境変数temp
これらのパスに対しては,ジョブ実行OSユーザーがアクセスできるよう,書き込み権限および読み取り権限を設定してください。
- 注※
-
キューレスジョブの場合,キューレスエージェントサービスの起動ユーザーになります。