Share via


_execlp、_wexeclp

更新 : 2007 年 11 月

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

intptr_t _execlp( 
   const char *cmdname,
   const char *arg0,
   ... const char *argn,
   NULL 
);
intptr_t _wexeclp( 
   const wchar_t *cmdname,
   const wchar_t *arg0,
   ... const wchar_t *argn,
   NULL 
);

パラメータ

  • cmdname
    実行するファイルのパス。

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

戻り値

成功すると、この関数は呼び出し側のプロセスには戻りません。戻り値が -1 の場合はエラーであり、その場合にはグローバル変数 errno が設定されます。

errno の値

説明

E2BIG

引数リストと環境設定に必要な領域が 32 KB を超えています。

EACCES

指定されたファイルにロック違反、または共有違反が発生しています。

EINVAL

無効なパラメータ。

EMFILE

開いているファイルが多すぎます (指定したファイルを開けないと、そのファイルが実行可能かどうかを判定できません)。

ENOENT

ファイル名またはパス名が見つかりません。

ENOEXEC

指定したファイルが実行可能ファイルでない、または実行可能ファイルの書式が無効です。

ENOMEM

メモリ不足のため、新しいプロセスを実行できません。または、使用できるメモリが壊れています。または、無効なブロックがあるため、呼び出し側プロセスが正しく割り当てられていません。

リターン コードの詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。

解説

これらの関数は、新しいプロセスを読み込んで実行します。各コマンド ライン引数を個別のパラメータとして渡し、PATH 環境変数を使用して実行対象のファイルを検索します。

Visual C++ 2005 では、_execlp 関数はパラメータの検証を行います。cmdname または arg0 が null ポインタまたは空の文字列の場合、「パラメータの検証」に説明されているように、これらの関数は無効なパラメータ ハンドラを呼び出します。実行の継続が許可された場合、errno を EINVAL に設定し、-1 を返します。新しいプロセスは開始されません。

必要条件

関数

必須ヘッダー

オプション ヘッダー

_execlp

<process.h>

<errno.h>

_wexeclp

<process.h> または <wchar.h>

<errno.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

使用例

_exec、_wexec 系関数」の例を参照してください。

.NET Framework の相当するアイテム

参照

参照

プロセス制御と環境制御

_exec、_wexec 系関数

abort

atexit

exit、_exit

_onexit、_onexit_m

_spawn 系関数と _wspawn 系関数

system、_wsystem