|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
Create and execute a new process.
intptr_t _spawnvp( int mode, const char *cmdname, const char *const *argv ); intptr_t _wspawnvp( int mode, const wchar_t *cmdname, const wchar_t *const *argv );
The return value from a synchronous _spawnvp or _wspawnvp (_P_WAIT specified for mode) is the exit status of the new process. The return value from an asynchronous _spawnvp or _wspawnvp (_P_NOWAIT or _P_NOWAITO specified for mode) is the process handle. The exit status is 0 if the process terminated normally. You can set the exit status to a nonzero value if the spawned process specifically calls the exit routine with a nonzero argument. If the new process did not explicitly set a positive exit status, a positive exit status indicates an abnormal exit with an abort or an interrupt. A return value of –1 indicates an error (the new process is not started). In this case, errno is set to one of the following values:
See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, return codes.
Each of these functions creates and executes a new process, passing an array of pointers to command-line arguments and using the PATH environment variable to find the file to execute.
These functions validate their parameters. If either cmdname or argv is a null pointer, or if argv points to null pointer, or argv is an empty string, the invalid parameter handler is invoked, as described in Parameter Validation . If execution is allowed to continue, these functions set errno to EINVAL, and return -1. No new process is spawned.
<stdio.h> or <process.h>
<stdio.h> or <wchar.h>
For additional compatibility information, see Compatibility in the Introduction.