Linux / Unix Kommando: execvp

Numm

execlp, execle, execv, execvp - fichéiert e Fichier

Synopsis

#include

extern char ** ëmweltfrëndlech;

Intecl (const char * Wee , Const Char * Arg , ...);
Inteclp (const char * Datei , const char * arg , ...);
Int fleece (const char * Wee , const char * arg , ..., char * const envp []);
int execv (const char * Wee , char * const argv []);
int execvp (const char * Datei , Char * const argv []);

Iwwerbléck vum Kommando

D' Exekutivfunktioun vun der Funktioun ersetzt den aktuellen Prozessbild mam neie Prozessabbild. D'Funktiounen, déi hei beschriwwe sinn, sinn Front-enden fir d'Funktioun ausféieren (2).

Dëst éischt Argument fir dës Funktiounen ass de Wee vun enger Datei, déi ausgefouert gëtt.

De Konstchar * Arg an d'spéider Ellipsen an den Execl , execlp a falefull Funktiounen kann als Arg0 , arg1 , ..., argn geduecht ginn . Zesumme beschreiwe se eng Lëscht mat engem oder méi Zeechter fir Null-terminéiert Saiten, déi d'Argument Lëscht representéieren fir de ausgezeechent Programm. Déi éischt Argumenter, déi duerch Konventioun, sollen op den Dateinumm bezéien déi mat der Datei ausgezeechent ginn ass. D'Lëscht vun Argumenter muss ofgeschloss ginn mat engem NULL- Zeiger.

Déi execv- a execvp- Funktiounen erlaben eng Rei vu Zeileren op Null-terminéiert Saiten, déi d'Argumenter Lëscht representéieren fir dat neit Programm. Déi éischt Argumenter, déi duerch Konventioun, sollen op den Dateinumm bezéien déi mat der Datei ausgezeechent ginn ass. D'Array vu Pointeren muss ofgeschloss ginn mat engem NULL- Zeiger.

D' Ausféierungsfunktioun spezifizéiert och d'Ëmfeld vum ausgezeechenttem Prozess duerch de NULL- Zeecher, deen d'Lëscht vun Argumenter an der Parametereneliste oder den Zeiger an der Argv-Array mat engem zousätzleche Parameter ofgeschloss huet. Dësen zousätzleche Parameter ass e Grupp vu Zeecheren op Null-terminéiert Zeechen a muss mat engem NULL- Zeechter ofgeschloss ginn. Déi aner Fonktiounen huelen d'Ëmwelt fir de neie Prozessprojet aus der externer Variabilitéit am aktuellen Prozess.

E puer vun dësen Funktiounen hunn eng speziell Semantik.

Déi Funkdee execlp an execvp duplizéieren d'Aktiounen vun der Shell bei der Sich no enger ausféierbar Datei, wann de spezifizéierte Dateinumm net e Schrëftgréisst (/) enthält. Den Sichwee ass de Wee an der Ëmgéigend vun der PATH Variable. Wann dës Variabel net ugewise gëtt, gëtt de Standardpfad ``: / bin: / usr / bin '' benotzt. Ausserdeem ginn verschidde Feele speziell behandelt.

Wann d'Erlaubung net verreelt fir e Fichier (de Versuch Eccullen zréckzekréien ) ginn dës Funktiounen weider am Rescht vum Sichwee. Wann et keng aner Fichier ze fannen ass, gi se awer mat der globaler Variablen errno zréck op EACCES .

Wann de Header vun enger Datei net erkannt gëtt (de Versuch duerchzeféieren ENOEXEC erofgeholl ) fuerderen dës Funktiounen déi Shell mat dem Wee vun der Datei als säin éischt Argument. (Wann dësen Versuch nët fehlgeschaft gëtt, gëtt keng weider Recherche gemaach.)

Präiss zréck

Wann eng vun den Executivfunktioune kënnt zréckgesat, da gouf e Feeler ofgeschloss. Den Rückgabewelt ass -1, an d'global Variable errno wäert festgeluegt sinn fir de Fehler ze weisen.

Wichteg: Benotzt de Mann Kommando ( % Mann ) fir ze kucken wéi e Kommando op Äre Computer benotzt.