日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトル
目次
まえがき
リファレンス・セクション
   ≫ライブラリ関数一覧
索引
PDF
OpenVMS ホーム

HP OpenVMS
HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)


目次 索引




子プロセスで起動されるイメージの名前を渡します。この関数は非リエントラントです。

形式

#include <unistd.h>

int execl (const char *file_spec, const char *arg0, ..., (char *)0); (ISO POSIX-1)

int execl (char *file_spec, ...); (Compatability)


引数



file_spec

子プロセスで起動される新しいイメージの完全なファイル指定。

arg0, ...

ヌル区切り文字列を指すポインタのシーケンス。

POSIX-1 形式を使用する場合は,少なくとも 1 つの引数を指定する必要があり,その引数は新しいプロセス・ファイル名 (またはその最後のコンポーネント) と同一である文字列を指さなければなりません ( このポインタは NULL ポインタでも構いませんが,その場合は, execleは何も実行しません )。最後のポインタは NULL ポインタでなければなりません。互換形式を使用するときも,この規則が適用されます。


説明

exec関数の動作方法を理解するには,次の構文に示すように,OpenVMS システムが HP C プログラムを呼び出す方法を考慮する必要があります。

int main (int argc, char *argv[], char *envp[]); 

識別子 argc は引数の数です。 argv は引数文字列の配列です。配列の最初のメンバ (argv[0]) にはイメージの名前が格納されます。引数は配列の 2 番目以降の要素に格納されます。配列の最後の要素は常に NULL ポインタです。

exec関数は,実行時システムが他の HP C プログラムを呼び出すのと同じ方法で子プロセスを呼び出します。 exec関数は,子で起動されるイメージの名前を渡します。この値は argv[0] に格納されます。しかし,これらの関数は,引数および環境情報を子に渡す方法が異なっています。

  • 引数は個別の文字列で渡すことができ ( execlexecleexeclp),文字列配列で渡すこともできます ( execvexecveexecvp)。

  • 環境は配列で明示的に渡すことができ ( execleexecve),親の環境から取得することもできます ( execlexecvexeclpexecvp)。

exec関数を起動する前に vforkが呼び出された場合は, exec関数が終了したときに,制御は vfork呼び出しの時点の親プロセスに返されます。 vforkが呼び出されていない場合は, exec関数は,子が実行を終了するまで待ち,実行が終了すると,親プロセスを終了します。詳細については, vforkおよび『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 5 章を参照してください。


戻り値

-1    異常終了を示します。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.