다음을 통해 공유


_spawnlp, _wspawnlp

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

중요

이 API는 Windows 런타임에서 실행되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /ZW에서 지원하지 않는 CRT 함수를 참조하십시오.

intptr_t _spawnlp(
   int mode,
   const char *cmdname,
   const char *arg0,
   const char *arg1,
   ... const char *argn,
   NULL 
);
intptr_t _wspawnlp(
   int mode,
   const wchar_t *cmdname,
   const wchar_t *arg0,
   const wchar_t *arg1,
   ... const wchar_t *argn,
   NULL 
);

매개 변수

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

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

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

반환 값

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

  • E2BIG
    인수 목록이 1024바이트를 초과합니다.

  • EINVAL
    mode 인수가 잘못되었습니다.

  • ENOENT
    파일 또는 경로를 찾을 수 없습니다.

  • ENOEXEC
    지정한 파일이 실행할 수 없거나 실행 파일 형식이 잘못되었습니다.

  • ENOMEM
    메모리가 부족하여 새 프로세스를 실행할 수 없습니다.

이러한 반환 코드 및 기타 반환 코드에 대한 자세한 내용은 _doserrno, errno, _sys_errlist 및 _sys_nerr을 참조하십시오.

설명

이러한 함수를 각 각 로드하고 새 프로세스를 실행합니다, 별도 매개 변수로 전달 하는 각 명령줄 인수를 실행 하면 사용중인 PATH 환경 변수를 실행 파일을 찾습니다.

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

요구 사항

루틴

필수 헤더

_spawnlp

<process.h>

_wspawnlp

<stdio.h> 또는 <wchar.h>

호환성 정보에 대한 자세한 내용은 호환성을 참조하십시오.

예제

_spawn, _wspawn 함수의 예제를 참조하십시오.

해당 .NET Framework 항목

참고 항목

참조

프로세스 및 환경 제어

_spawn, _wspawn 함수

abort

atexit

_exec, _wexec 함수

exit, _exit

_flushall

_getmbcp

_onexit, _onexit_m

_setmbcp

system, _wsystem