_execve, _wexecve

加载和执行新的子进程。

重要

此 API 不能在运行时的窗口执行的应用程序。有关更多信息,请参见 CRT 函数不支持与 /ZW

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 
);

参数

  • cmdname
    执行文件的路径。

  • argv
    某些属性参数的指针。

  • envp
    某些属性环境设置的指针。

返回值

如果成功,这些函数不返回到调用进程。 返回值– 1 表示错误,因此,在 errno 全局变量设置情况下。

errno 值

描述

E2BIG

对于参数和环境设置所需的空间超过 32 KB。

EACCES

使用指定的文件具有固定或共享的冲突。

EINVAL

无效参数。

EMFILE

打开许多的文件 (必须打开所指定的文件确定它是否可执行文件)。

ENOENT

未找到文件或路径。

ENOEXEC

使用指定的文件不可执行文件也没有无效可执行 (pe) 文件格式。

ENOMEM

没有足够的内存可用于执行更新过程;可用内存损坏;无效或块存在,指示调用过程不正确分配。

有关这些属性和其他的更多信息返回代码示例,请参见 _doserrno、errno、_sys_errlist 和_sys_nerr

备注

这些功能中的每一个加载并执行更新过程,通过一组指向命令行参数和一组指向环境设置。

_execve 和 _wexecve 验证其参数。 如果 cmdname 是 null 指针,或者,如果 argv 是 null 指针,为空数组的指针,或者,如果数组包含一个空字符串作为第一个参数,这些函数调用的参数无效处理程序如 参数验证所述。 如果执行允许继续,对 EINVAL 的这些功能集 errno 并且返回 -1。 不保存进程中启动。

要求

功能

必需的标头

选项标头

_execve

<process.h>

<errno.h>

_wexecve

<process.h> 或 <wchar.h>

<errno.h>

有关更多兼容性信息,请参见中介绍的 兼容性

示例

在参见 _exec,_wexec 功能的示例。

.NET Framework 等效项

请参见

参考

处理和环境控件

_exec, _wexec功能

abort

atexit

exit, _exit

_onexit, _onexit_m

_spawn, _wspawn功能

system, _wsystem