다음을 통해 공유


_spawnlpe, _wspawnlpe

새 프로세스를 만들고 실행합니다.

Important

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

구문

intptr_t _spawnlpe(
   int mode,
   const char *cmdname,
   const char *arg0,
   const char *arg1,
   ... const char *argn,
   NULL,
   const char *const *envp
);
intptr_t _wspawnlpe(
   int mode,
   const wchar_t *cmdname,
   const wchar_t *arg0,
   const wchar_t *arg1,
   ... const wchar_t *argn,
   NULL,
   const wchar_t *const *envp
);

매개 변수

mode
호출 프로세스의 실행 모드입니다.

cmdname
실행할 파일의 경로입니다.

arg0, arg1... argN
인수에 대한 포인터 목록입니다. arg0 인수는 일반적으로 cmdname에 대한 포인터입니다. arg1 - argN 인수는 새 인수 목록을 구성하는 문자열에 대한 포인터입니다. argN다음에는 인수 목록의 끝을 표시하는 NULL 포인터가 와야 합니다.

envp
환경 설정에 대한 포인터 배열입니다.

반환 값

동기 _spawnlpe 또는 _wspawnlpe(mode에 대해 지정된 _P_WAIT)에서 반환되는 값은 새 프로세스의 종료 상태입니다. 비동기 _spawnlpe 또는 _wspawnlpe (_P_NOWAIT 에 대해 지정된 _P_NOWAITO 또는 mode)에서 반환되는 값은 프로세스 핸들입니다. 프로세스가 정상적으로 종료되는 경우 종료 상태는 0입니다. 생성된 프로세스가 0이 아닌 인수를 사용하여 exit 루틴을 호출하는 경우 종료 상태를 0이 아닌 값으로 설정할 수 있습니다. 새 프로세스가 명시적으로 양수 종료 상태를 설정하지 않은 경우 양수 종료 상태는 중단 또는 인터럽트로 인한 비정상적인 종료를 나타냅니다. 반환 값 -1은 오류를 나타냅니다(새 프로세스가 시작되지 않음). 이 경우 errno 는 다음 값 중 하나로 설정됩니다.

설명
E2BIG 인수 목록이 1024바이트를 초과합니다.
EINVAL mode 인수가 잘못되었습니다.
ENOENT 파일 또는 경로를 찾을 수 없습니다.
ENOEXEC 지정된 파일이 실행 가능하지 않거나 실행 파일 형식이 잘못되었습니다.
ENOMEM 메모리가 부족하여 새 프로세스를 실행할 수 없습니다.

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

설명

이러한 각 함수는 새 프로세스를 만들어 실행하고, 각 명령줄 인수를 별도의 매개 변수로 전달하고, 포인터 배열을 환경 설정으로 전달합니다. 이러한 함수는 PATH 환경 변수를 사용하여 실행할 파일을 찾습니다.

이러한 함수는 해당 함수 매개 변수의 유효성을 검사합니다. cmdname 빈 문자열 또는 arg0 null 포인터인 경우 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다. 계속해서 실행하도록 허용된 경우, 이러한 함수는 errnoEINVAL로 설정하고 -1을 반환합니다. 새로운 프로세스가 생성되지 않습니다.

요구 사항

루틴에서 반환된 값 필수 헤더
_spawnlpe <process.h>
_wspawnlpe <stdio.h> 또는 <wchar.h>

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

예시

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

참고 항목

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