Condividi tramite


_spawnvp, _wspawnvp

Crea un processo e lo esegue.

Importante

Non è possibile usare questa API nelle applicazioni eseguite in Windows Runtime. Per altre informazioni, vedere Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform).

Sintassi

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
);

Parametri

mode
Modalità di esecuzione per la chiamata al processo.

cmdname
Percorso del file da eseguire.

argv
Matrice di puntatori agli argomenti. L'argomento argv[0] è in genere un puntatore a un percorso in modalità reale o al nome del programma in modalità protetta e argv[1] tramite argv[n] sono puntatori alle stringhe di caratteri che formano il nuovo elenco di argomenti. L'argomento argv[n+1] deve essere un NULL puntatore per contrassegnare la fine dell'elenco di argomenti.

Valore restituito

Il valore restituito da un oggetto sincrono _spawnvp o _wspawnvp (_P_WAIT specificato per mode) è lo stato di uscita del nuovo processo. Il valore restituito da un _spawnvp asincrono o _wspawnvp (_P_NOWAIT o _P_NOWAITO specificato per mode) è l'handle del processo. Lo stato di uscita è 0 se il processo è terminato normalmente. È possibile impostare lo stato di uscita su un valore diverso da zero se il processo generato usa specificatamente un argomento diverso da zero per chiamare la routine exit . Se il nuovo processo non ha impostato in modo esplicito uno stato di uscita positivo, uno stato di uscita positivo indica un'uscita anomala con un'interruzione o un interrupt. Un valore restituito -1 indica un errore (il nuovo processo non viene avviato). In questo caso, errno è impostato su uno dei valori indicati di seguito:

valore Descrizione
E2BIG L'elenco di argomenti supera i 1024 byte.
EINVAL L'argomentomode non è valido.
ENOENT File o percorso non trovato.
ENOEXEC Il file specificato non è eseguibile o ha un formato di file eseguibile non valido.
ENOMEM Memoria insufficiente per eseguire il nuovo processo.

Per altre informazioni sui codici restituiti, vedere errno, _doserrno, _sys_errliste _sys_nerr.

Osservazioni:

Ognuna di queste funzioni crea ed esegue un nuovo processo e passa una matrice di puntatori agli argomenti della riga di comando e usa la variabile di ambiente PATH per individuare il file da eseguire.

Queste funzioni convalidano i relativi parametri. cmdname Se o argv è un puntatore Null o se argv punta a un puntatore Null o argv[0] è una stringa vuota, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, queste funzioni impostano errno su EINVALe restituiscono -1. Nessun nuovo processo viene generato.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Requisiti

Ciclo Intestazione obbligatoria
_spawnvp <stdio.h> o <process.h>
_wspawnvp <stdio.h> o <wchar.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

Vedere l'esempio in _spawnfunzioni_wspawn .

Vedi anche

Processo e controllo dell'ambiente
_spawn, _wspawn funzioni
abort
atexit
_exec, _wexec funzioni
exit, _Exit, _exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
system, _wsystem