次の方法で共有


_execvp、_wexecvp

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

intptr_t _execvp( 
   const char *cmdname,
   const char *const *argv 
);
intptr_t _wexecvp( 
   const wchar_t *cmdname,
   const wchar_t *const *argv 
);

パラメーター

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

  • argv
    パラメーターへのポインターの配列。

戻り値

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

errno の値

説明

E2BIG

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

EACCES

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

EINVAL

無効なパラメーター。

EMFILE

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

ENOENT

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

ENOEXEC

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

ENOMEM

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

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

解説

これらの各関数は、新しいプロセスを読み込んで実行します。コマンド ライン引数へのポインターの配列が渡され、実行するファイルを検索するために PATH 環境変数が使用されます。

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

必要条件

機能

必須ヘッダー

オプション ヘッダー

_execvp

<process.h>

<errno.h>

_wexecvp

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

<errno.h>

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

使用例

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

同等の .NET Framework 関数

参照

参照

プロセス制御と環境制御

_exec、_wexec 系関数

abort

atexit

exit、_exit

_onexit、_onexit_m

_spawn 系関数と _wspawn 系関数

system、_wsystem