_execve, _wexecve

Loads and executes new child processes.

intptr_t _execve( 
   const char *cmdname,
   const char *const *argv,
   const char *const *envp 
);
intptr_t _wexecve( 
   const wchar_t *cmdname,
   const wchar_t *const *argv,
   const wchar_t *const *envp 
);

Parameters

  • cmdname
    Path of the file to execute.

  • argv
    Array of pointers to parameters.

  • envp
    Array of pointers to environment settings.

Return Value

If successful, these functions do not return to the calling process. A return value of –1 indicates an error, in which case the errno global variable is set.

errno value

Description

E2BIG

The space required for the arguments and environment settings exceeds 32 KB.

EACCES

The specified file has a locking or sharing violation.

EINVAL

Invalid parameter.

EMFILE

Too many files open (the specified file must be opened to determine whether it is executable).

ENOENT

The file or path not found.

ENOEXEC

The specified file is not executable or has an invalid executable-file format.

ENOMEM

Not enough memory is available to execute the new process; the available memory has been corrupted; or an invalid block exists, indicating that the calling process was not allocated properly.

For more information about these and other return codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.

Remarks

Each of these functions loads and executes a new process, passing an array of pointers to command-line arguments and an array of pointers to environment settings.

In Visual C++ 2005, _execve and _wexecve validate their parameters. If cmdname is a null pointer, or if argv is a null pointer, pointer to an empty array, or if the array contains an empty string as the first argument, these functions invoke the invalid parameter handler as described in Parameter Validation. If execution is allowed to continue, these functions set errno to EINVAL and return -1. No process is launched.

Requirements

Function

Required header

Optional header

_execve

<process.h>

<errno.h>

_wexecve

<process.h> or <wchar.h>

<errno.h>

For more compatibility information, see Compatibility in the Introduction.

Example

See the example in _exec, _wexec Functions.

.NET Framework Equivalent

See Also

Reference

Process and Environment Control

_exec, _wexec Functions

abort

atexit

exit, _exit

_onexit, _onexit_m

_spawn, _wspawn Functions

system, _wsystem