_execvp
, _wexecvp
Lädt neue untergeordnete Prozesse und führt sie aus.
Wichtig
Diese API kann nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).
Syntax
intptr_t _execvp(
const char *cmdname,
const char *const *argv
);
intptr_t _wexecvp(
const wchar_t *cmdname,
const wchar_t *const *argv
);
Parameter
cmdname
Pfad der auszuführenden Datei.
argv
Array von Zeigern zu Parametern.
Rückgabewert
Bei erfolgreicher Ausführung kehren diese Funktionen nicht zum aufrufenden Prozess zurück. Ein Rückgabewert von -1 gibt einen Fehler an, in diesem Fall wird die errno
globale Variable festgelegt.
Wert vom Typ errno |
Beschreibung |
---|---|
E2BIG |
Für die Argumente und die Umgebungseinstellungen werden mehr als 32 KB Speicherplatz benötigt. |
EACCES |
Für die angegebene Datei ist eine Sperr- oder Freigabeverletzung aufgetreten. |
EINVAL |
Ungültiger -Parameter. |
EMFILE |
Zu viele Dateien werden geöffnet (die angegebene Datei muss geöffnet werden, um zu bestimmen, ob sie ausführbar ist). |
ENOENT |
Die Datei oder der Pfad wurde nicht gefunden. |
ENOEXEC |
Die angegebene Datei ist nicht ausführbar oder weist ein ungültiges Dateiformat für ausführbare Dateien auf. |
ENOMEM |
Nicht genügend Arbeitsspeicher ist verfügbar, um den neuen Prozess auszuführen; Der verfügbare Arbeitsspeicher wurde beschädigt; oder es ist ein ungültiger Block vorhanden, der angibt, dass der aufrufende Prozess nicht ordnungsgemäß zugeordnet wurde. |
Weitere Informationen zu diesen und anderen Rückgabecodes finden Sie unter , , _doserrno
, _sys_errlist
und _sys_nerr
.errno
Hinweise
Jede dieser Funktionen lädt einen neuen Prozess, führt ihn aus, übergibt ein Array von Zeigern auf Befehlszeilenargumente und sucht die auszuführende Datei mithilfe der PATH
-Umgebungsvariablen.
Die _execvp
-Funktionen überprüfen ihre Parameter. Diese Funktionen rufen den ungültigen Parameterhandler auf, wie in der Parameterüberprüfung beschrieben, wenn:
cmdname
ist ein Nullzeiger,argv
ist entweder ein Nullzeiger oder Zeiger auf ein leeres Array,- das Array enthält eine leere Zeichenfolge als erstes Argument.
Wenn die Ausführung vom Handler fortgesetzt werden darf, legen errno
diese Funktionen auf EINVAL
, und geben -1 zurück. Es wird kein Prozess gestartet.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Funktion | Erforderlicher Header | Optionaler Header |
---|---|---|
_execvp |
<process.h> | <errno.h> |
_wexecvp |
<process.h> oder <wchar.h> | <errno.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
Sehen Sie sich das Beispiel in _exec
, _wexec
Funktionen an.
Siehe auch
Prozess- und Umgebungskontrolle
_exec
, _wexec
Funktionen
abort
atexit
exit
, _Exit
_exit
_onexit
, _onexit_m
_spawn
, _wspawn
Funktionen
system
, _wsystem