다음을 통해 공유


_execve, _wexecve

새 자식 프로세스를 로드하고 실행합니다.

Important

이 API는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다. 자세한 내용은 유니버설 Windows 플랫폼 앱에서 지원되지 않는 CRT 함수를 참조하세요.

구문

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 인수 및 환경 설정에 필요한 공간의 크기가 32KB를 초과합니다.
EACCES 지정한 파일이 잠금 또는 공유 위반이 되었습니다.
EINVAL 잘못된 매개 변수입니다.
EMFILE 열려 있는 파일이 너무 많습니다(실행 파일인지 여부를 확인하려면 지정된 파일을 열어야 합니다).
ENOENT 파일 또는 경로를 찾을 수 없습니다.
ENOEXEC 지정한 파일이 실행 가능하지 않거나 실행 파일 형식이 잘못되었습니다.
ENOMEM 메모리가 부족하여 새 프로세스를 실행할 수 없습니다. 사용 가능한 메모리가 손상되었습니다. 또는 호출 프로세스가 제대로 할당되지 않았음을 나타내는 잘못된 블록이 있습니다.

이러한 코드 및 기타 반환 코드에 대한 자세한 내용은 , _doserrno_sys_nerr_sys_errlist를 참조하세요.errno

설명

이러한 각 함수는 새 프로세스를 로드 및 실행하여 명령줄 인수에 대한 포인터 배열 및 환경 설정에 대한 포인터 배열을 전달합니다.

_execve_wexecve는 자신의 매개 변수에 대한 유효성을 검사합니다. 이러한 함수는 다음과 같은 경우 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다.

  • cmdname 는 null 포인터입니다.
  • argv 은 null 포인터이거나 빈 배열에 대한 포인터입니다.
  • 배열에 첫 번째 인수로 빈 문자열이 포함됩니다.

처리기에서 실행을 계속할 수 있는 경우 이러한 함수는 -1로 설정 errno 되고 -1을 EINVAL반환합니다. 프로세스가 시작되지 않습니다.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

요구 사항

함수 필수 헤더 선택적 헤더
_execve <process.h> <errno.h>
_wexecve <process.h> 또는 <wchar.h> <errno.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

예시

함수 _wexec_exec예제를 참조하세요.

참고 항목

프로세스 및 환경 제어
_exec, _wexec 함수
abort
atexit
exit, , _Exit_exit
_onexit, _onexit_m
_spawn, _wspawn 함수
system, _wsystem