_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 함수의 예제를 참조하십시오.