8.3.2 adshappexecコマンド(GUIアプリケーション実行コマンド)【Windows実行環境】
形式
adshappexec [-m] [-d ワークフォルダ] [-v 表示名] {-w 実行アプリケーション名 | -n 実行アプリケーション名} [-- 引数1 引数2...]
機能
アプリケーション実行エージェントに実行アプリケーションの起動を要求します。JP1/AJSのPCジョブ定義の実行ファイル名などに指定して動作させます。
実行アプリケーションの戻り値は,標準出力,およびメッセージ(JP1/AJSの実行結果詳細)に出力します。ジョブの戻り値として後続ジョブで使用する場合はコマンド置換で変数に格納します。
引数
- --m
-
標準エラー出力へのメッセージの出力を抑止します。
標準入出力を使用できない環境で使用します。
コマンドの引数指定エラー,およびライセンスチェックエラーは,-mオプションを指定しても出力されます。
- -d ワークフォルダ 〜<パス名>((1〜247バイト))
-
実行アプリケーション実行時のワークフォルダを指定します。
ワークフォルダを指定しなかった場合は,adshappexecコマンド実行時のカレントパスで実行アプリケーションが動作します。
ワークフォルダはスペースを含む場合,ジョブ定義スクリプトからの実行であれば「"」で囲むなどして,スペースを含めて指定してください。
- -v 表示名 〜<パス名>((1〜247バイト))
-
[アプリケーション実行エージェント]アイコンを左クリックしたときに表示される表示名を指定します。
表示名はスペースを含む場合,ジョブ定義スクリプトからの実行であれば「"」で囲むなどして,スペースを含めて指定してください。
表示名を省略した場合には,実行アプリケーション名を出力します。
複数の実行アプリケーションを動作させたときにアプリケーションを区別するためにこの引数を指定することを推奨します。
- -w 実行アプリケーション名 〜<パス名>((1〜247バイト))
-
実行アプリケーションの終了まで実行を終了しません。
実行アプリケーション名は,実行アプリケーションのファイル名を指定します。
実行アプリケーション名はスペースを含む場合,ジョブ定義スクリプトからの実行であれば「"」で囲むなどして,スペースを含めて指定してください。
- -n 実行アプリケーション名 〜<パス名>((1〜247バイト))
-
実行アプリケーションの終了を待たずに終了します。
この引数を使用した場合,同時実行数の制限を受けずに起動できます。
実行アプリケーション名は,実行アプリケーションのファイル名を指定します。
実行アプリケーション名はスペースを含む場合,ジョブ定義スクリプトからの実行であれば「"」で囲むなどして,スペースを含めて指定してください。
- -- 引数1 引数2... 〜<引数>((1〜1023バイト))
-
「--」のあとに実行アプリケーションの実行時に指定するパラメーターを指定します。
関連付けを行った実行アプリケーションを指定した場合には引数を指定しないでください。
引数は,合計の引数長が1,023バイト以内であれば,いくつでも指定できます。
終了コード
終了コード |
意味 |
---|---|
0 |
正常終了 |
0以外 |
エラー終了 |
adshappexecコマンドでは,3つのプロセスでの終了コードがあります。プロセスごとの終了コードの扱いは次のようにします。
エラー発生個所での戻り値の出力は,次のとおりです。
- (a) adshappexecコマンド処理でのエラー
-
コマンドの戻り値として設定します。標準エラー出力(JP1/AJS - Viewからの実行の場合実行結果詳細)にメッセージを出力します。
- (b) アプリケーション実行エージェントでのadshappexecコマンドからの要求処理中のエラー
-
コマンドの戻り値として設定します。標準エラー出力(JP1/AJS - Viewからの実行の場合実行結果詳細)には,アプリケーション実行エージェントでエラー出力します。
- (c) 実行アプリケーションの戻り値
-
標準出力に出力します。また,標準エラー出力(JP1/AJS - Viewからの実行の場合実行結果詳細)には,実行アプリケーションの戻り値を出力します。
実行アプリケーションの戻り値で0以外の戻り値を返しても,adshappexecコマンドは異常終了しません。
実行アプリケーションの戻り値を確認するにはメッセージを確認するか,標準出力の内容を確認してください。
- (d) アプリケーション実行エージェントでのadshappexecコマンドからの要求処理中以外のエラー
-
アプリケーション実行エージェントのエラーとして,adshappagentコマンドの戻り値として設定します。
エラーの発生個所によって,メッセージをメッセージボックスで出力,またはアプリケーション実行エージェント機能ログに出力します。
注意事項
-
adshappexecコマンドは,アプリケーション実行エージェントが起動している状態で実行する必要があります。起動する前に実行した場合,エラーになります。また,adshappexecコマンド実行中にアプリケーション実行エージェントを終了した場合,エラーになります。
-
adshappexecコマンドの-w引数と-n引数は必ず指定してください。
次の場合,最後に指定したものが有効になります。
-
-wオプションと-rオプションを同時に指定した場合
-
-wオプションを複数指定した場合
-
-rオプションを複数指定した場合
-
-
JP1/AJSのPCジョブの設定項目である環境変数,および環境変数ファイル名は実行アプリケーションに引き継ぎません。また,実行アプリケーションは実行ユーザーの環境変数を使用します。
-
adshappexecコマンドの引数-wを指定した実行アプリケーションの最大同時起動数は5つです。5つを超える数の実行アプリケーションを起動した場合,起動中の実行アプリケーションの終了を待ちます。
実行アプリケーションの終了を待った場合,実行中の実行アプリケーションが終了してから終了待ちの実行アプリケーションが起動するまで1分以上の時間がかかる場合があります。
-
同じオプションを複数指定した場合,最後の指定が有効になります。
-
次の仕様のアプリケーションを-w引数で実行した場合,指定したファイルを閉じてもadshappexecコマンドが終了しないことがあります。
-
実行アプリケーションに指定したファイルを閉じても,アプリケーション自体が終了しない
このような場合は,アプリケーション自体が終了すれば,adshappexecコマンドも終了します。
例:実行アプリケーションとして指定したExcelファイルだけ閉じて,Excel自体は終了させていない場合
-
-
実行アプリケーションのプロセス起動に関する仕様によっては,-w引数を指定しても,アプリケーションの終了を待たずにadshappexecコマンドが終了することがあります。
次に示す場合があります。
- (1)KNAX7259-Wが出力される場合
-
例:Excelファイルを実行アプリケーションとして実行する前から,すでにExcel自体が動作していた場合
この場合は,Excelが起動していない状態で運用するか,-w引数を使用しない運用としてください。
- (2)KNAX7259-Wが出力されない場合
-
例:explorer.exeを実行アプリケーションとして実行した場合
この場合は,-w引数を使用しない運用としてください。
-
強制終了時は次のことに注意してください。
-
adshappexecコマンド実行中にジョブを強制終了した場合
起動した実行アプリケーションは起動したままとなります。
-
TRAP_ACTION_SIGTERMパラメーターでTERMを指定した場合
trapコマンドによる動作定義にadshappexecコマンドを指定しないでください。
対話操作をする実行アプリケーションを指定した場合,応答待ちになりジョブ定義スクリプトが終了しない可能性があります。
-
使用例
-
実行アプリケーションを実行し,終了を待つ場合
adshappexec -w “c:\appfolder\app.exe“・・・1 echo app終了・・・2
c:\appfolder\app.exeを実行し(処理1),終了待ちします(処理2)。
-
実行アプリケーションを実行し,終了を待たない場合
adshappexec -n “c:\appfolder\app.exe“・・・1 echo app起動・・・2
c:\appfolder\app.exeを実行し(処理1),終了を待たないで処理2を実行します。
-
シェル拡張コマンドを使用した実行アプリケーションの戻り値を判定する場合
exeapprc=$(adshappexec -w c:\\appfolder\\app.exe) if [[ $? != 0 ]] ・・・1 then echo adshappexec error exit fi echo $exeapprc if [[ $exeapprc != 0 ]] ・・・2 then echo app.exe error exit fi
処理1は,adshappexecコマンドの戻り値を判定します。
処理2は,c:\\appfolder\\app.exe(実行アプリケーション)の戻り値を判定します。