Freigeben über


_execl, _wexecl

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 _execl(
   const char *cmdname,
   const char *arg0,
   ... const char *argn,
   NULL
);
intptr_t _wexecl(
   const wchar_t *cmdname,
   const wchar_t *arg0,
   ... const wchar_t *argn,
   NULL
);

Parameter

cmdname
Pfad der auszuführenden Datei.

arg0, ... argN
Liste von Zeigern zu den 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 (mindestens ein Parameter ist ein NULL-Zeiger oder eine leere Zeichenfolge).
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.

Hinweise

Jede dieser Funktionen lädt einen neuen Prozess und führt ihn aus. Jedes Befehlszeilenargument wird dabei als separater Parameter übergeben. Das erste Argument ist der Name des Befehls oder der ausführbaren Datei. Das zweite Argument muss das gleiche wie das erste sein. Es wird im ausgeführten Prozess zu argv[0]. Das dritte Argument argv[1] ist das erste Argument des ausgeführten Prozesses.

Die _execl-Funktionen überprüfen ihre Parameter. Wenn es sich um cmdname einen Nullzeiger oder arg0 eine leere Zeichenfolge handelt, rufen diese Funktionen den ungültigen Parameterhandler auf, wie in der Parameterüberprüfung beschrieben, wenn die Ausführung fortgesetzt werden darf, werden diese Funktionen auf EINVAL -1 festgelegt errno und zurückgegeben. Es wird kein neuer Prozess ausgeführt.

Anforderungen

Funktion Erforderlicher Header Optionaler Header
_execl <process.h> <errno.h>
_wexecl <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