次の方法で共有


_execl, _wexecl

新しい子プロセスを読み込んで実行します。

重要

この API は、Windows ランタイムで実行するアプリケーションでは使用できません。 詳細については、「ユニバーサル Windows プラットフォーム アプリでサポートされていない CRT 関数」を参照してください。

構文

intptr_t _execl(
   const char *cmdname,
   const char *arg0,
   ... const char *argn,
   NULL
);
intptr_t _wexecl(
   const wchar_t *cmdname,
   const wchar_t *arg0,
   ... const wchar_t *argn,
   NULL
);

パラメーター

cmdname
実行されるファイルのパス。

arg0, ... argN
パラメーターへのポインターのリスト。

戻り値

成功した場合、これらの関数は呼び出し元のプロセスに戻りません。 戻り値 -1 はエラーを示します。この場合 errno 、グローバル変数が設定されます。

errno 説明
E2BIG 引数と環境設定には、32 KB を超える領域が必要です。
EACCES 指定されたファイルでロック違反または共有違反が発生しています。
EINVAL 無効なパラメーター (1 つまたは複数のパラメーターが null ポインターまたは空の文字列の場合)。
EMFILE 開いているファイルが多すぎます (指定したファイルを開いて実行可能かどうかを判断する必要があります)。
ENOENT ファイルまたはパスが見つかりません。
ENOEXEC 指定したファイルが実行可能ファイルではないか、無効な実行可能ファイル形式です。
ENOMEM 新しいプロセスを実行するのに十分なメモリがありません。使用可能なメモリが破損しています。または無効なブロックが存在し、呼び出し元のプロセスが正しく割り当てられなかったことを示します。

解説

これらの各関数は新しいプロセスを読み込んで実行し、各コマンド ライン引数を個別のパラメーターとして渡します。 1 番目の引数はコマンドまたは実行可能ファイルの名前で、2 番目の引数は、1 番目と同じにする必要があります。 これは、実行されるプロセスの argv[0] になります。 3 番目の引数は、実行されるプロセスの 1 番目の引数 argv[1] です。

_execl 関数は、パラメーターを検証します。 null ポインターまたはarg0空の文字列のいずれかcmdnameである場合、これらの関数は、「パラメーターの検証」の説明に従って無効なパラメーター ハンドラーを呼び出します。実行を続行できる場合、これらの関数は -1 にEINVAL設定errnoされ、返されます。 新しいプロセスは実行されません。

必要条件

機能 必須ヘッダー オプション ヘッダー
_execl <process.h> <errno.h>
_wexecl <process.h> または <wchar.h> <errno.h>

互換性の詳細については、「 Compatibility」を参照してください。

関数の例 _wexec_execを参照してください。

関連項目

プロセスと環境の制御
_exec_wexec 関数
abort
atexit
exit, _Exit, _exit
_onexit, _onexit_m
_spawn_wspawn 関数
system, _wsystem