Linkexpress 利用者プログラム開発ガイド
|
目次
索引

|
4.1.3.3 EXEJOB
相手システムのジョブ(コマンド)を起動します。ジョブ連携の詳細については、「運用ガイド」の「1.3 ジョブ連携機能」を参照してください。
関数形式
#include <lxapi.h>
int exejob (input_dcb, output_dcb)
dts_exejob_dcb_t *input_dcb
dts_inf_transfer_comp_t *output_dcb
参照
<lxapi.h>、dts_exejob_dcb_t、dts_inf_transfer_comp_t
パラメタ
input_dcb : ジョブ起動パラメタパケットを指定します。
output_dcb : 結果通知格納パラメタパケットを指定します。
復帰値
正常 : 0を返却します。 output_dcb は、依頼の型(注)により参照方法が異なります。
異常 : -1を返却します。 output_dcbの診断コード域にだけ意味があります。詳しくは、dts_inf_transfer_comp_tを参照してください。
注) 依頼の型はreq_typeで指定します。種類としては、完了復帰型と突き放し型があります。
完了復帰型の場合:
転送時間、転送データ量等の転送結果情報を通知します。詳しくは、dts_inf_transfer_comp_tを参照してください。
突き放し型の場合:
output_dcbのreq_identだけに意味があります。転送結果情報は、GETINFを発行して獲得します。
備考
- 復帰値が正常で、かつ、依頼の型に"突き放し型"を指定した場合は、GETINFを発行する必要があります。
- 相手システムがグローバルサーバ/PRIMEFORCEの場合、input_dcbのjob_typeにDTS_API_JOBNORSP(ジョブ結果通知なし)を指定する必要があります。
- 通信プロトコルにSANを使用する場合、当機能は使用できません。
- 起動ジョブの実行権限については、「導入ガイド」の「9.2.1 セキュリティチェックの実行契機」を参照してください。なお、相手システムがPCサーバの場合、"user_id" で指定する相手側利用者名がAdministratorsグループに所属している必要があります。
- ジョブ結果通知(job_type)を相手システム(ジョブ実行側)から待ち合わせる場合、ジョブ結果待ち時間(job_time)の指定を推奨します。ジョブ結果の時間監視せずとした場合、相手システム側でジョブ結果通知(lxrspjobコマンドなど)に失敗などすると、本要求が無応答状態(完了復帰型の場合はEXEJOBが無応答、突き放し型の場合はGETINFが無応答)になります。このような場合、ジョブ結果の時間監視を行うことで、本要求を復帰(エラー分類:50、エラーコード:60)することが可能です。
- Linkexpressでは、以下のジョブを起動することができません。
- [プラットホーム共通]
- [PCサーバ上のジョブを起動する場合]
- ウィンドウが存在するジョブ(notepad、Linkexpressの転送コントロールを利用した利用者プログラムなど)
- ATコマンドの実行で正常動作しないジョブ
また、ジョブ起動したプログラムからは、ネットワークドライブ、プリンタなどの資源にアクセスできません。
- [UNIXサーバ上のジョブを起動する場合]
- 制御端末が必要なコマンド(passwdなど)
- フルスクリーン系のコマンド(viなど)
- PCサーバ上のジョブを起動する場合、システムの環境変数が引き継がれます。path環境変数など、ジョブ独自の環境変数が必要な場合は、ジョブの内部で環境変数を変更してください。
- UNIXサーバ上のジョブを起動する場合、環境変数、umask値、標準出力、および標準エラー出力は、Linkexpressサーバを起動した環境(RCスクリプト、またはコンソール・端末)を引き継ぎます。ジョブ起動に指定する利用者のシェル環境(.profile、.chsrc など)は引き継ぎません。
また、ジョブの実行に必要な環境変数、およびジョブからのファイルアクセスに必要なumask値は、Linkexpressサーバを起動するRCシェルまたはコンソール・端末の実行環境に設定するか、またはジョブ内に設定してください。
ジョブからの標準出力、および標準エラー出力は、Linkexpressサーバを起動したコンソール・端末に出力されます。Linkexpressサーバ起動後に端末を終了している場合は、出力がEIOのエラーとなる可能性があります。このため、ジョブからの標準出力、および標準エラー出力は、一時ファイルなどにリダイレクトするなどの考慮を行ってください。
なお、コンソール・端末がロック・ハングしている場合は、標準出力、および標準エラー処理で待ち状態になるため、ジョブが完了できなくなりますので、注意してください。
- Windows Vista上のジョブを起動する場合(相手側システムがWindows Vista)、相手システム側の動作環境定義のPRIVILEGE-JOBEXECキーワードで"YES"を指定する必要があります。本キーワードを省略した場合の動作は、Windows Vista上のジョブの起動を抑止します。
また、本キーワードで"YES"を指定した場合、Windows Vista上の起動されたジョブはシステム管理者権限で動作します。なお、ジョブを起動する直前のセキュリティチェックは、ジョブ起動パラメタで指定されたセキュリティ情報(ユーザIDとパスワード)より認証を行います。
詳細は、「運用ガイド」の「1.3.1 ジョブ連携提供機能」を参照してください。
関連項目
All Rights Reserved, Copyright(C) 富士通株式会社 1997-2007