Theexec družina funkcij zamenja trenutno sliko postopka z novo procesno sliko. Funkcije, opisane tukaj, so sprednji konec funkcijeexecve(2).
Začetni argument za te funkcije je ime datoteke, ki naj bi bila izvedena.
The const char * arg in poznejše elipse vexecl, execlp, inexecle funkcije je mogoče razumeti kot arg0 , arg1 , …, argn . Skupaj opisujejo seznam enega ali več kazalcev na ničelne terminale, ki predstavljajo seznam argumentov, ki je na voljo izvedenemu programu. Prvi argument, po dogovoru, bi moral kazati na ime datoteke, povezane z datoteko, ki se izvaja. Seznam argumentov moraš prenehati zNIČ kazalec.
Theexecv inexecvp funkcije zagotavljajo niz kazalcev na ničelne terminale, ki predstavljajo seznam argumentov, ki je na voljo novemu programu. Prvi argument, po dogovoru, bi moral kazati na ime datoteke, povezane z datoteko, ki se izvaja. Vrstica kazalcev moraš prenehati zNIČ kazalec.
Theexecle Funkcija tudi določa okolje izvedenega procesa, tako da slediNIČkazalec, ki zaključi seznam argumentov v seznamu parametrov ali kazalec na array arv z dodatnim parametrom. Ta dodatni parameter je niz kazalcev na null-terminirane nize in moraš prenehati zNIČ kazalec. Druge funkcije vzamejo okolje za novo procesno sliko iz zunanje spremenljivke okolje v trenutnem procesu.
Nekatere od teh funkcij imajo posebno semantiko.
Funkcijeexeclp inexecvp bo podvojil dejanja lupine pri iskanju izvedljive datoteke, če podano ime datoteke ne vsebuje znaka poševnice (/). Pot iskanja je pot, ki jo v okolju določiPATH spremenljivka. Če ta spremenljivka ni podana, se uporabi privzeta pot ``: / bin: / usr / bin ''. Poleg tega se nekatere napake obravnavajo posebej.
Če je dovoljenje zavrnjeno za datoteko (poskusexecve vrnilEACCES), bodo te funkcije nadaljevale iskanje preostale poti iskanja. Če ne najdete nobene druge datoteke, se bodo vrnile s spremenljivko errno nastavljenaEACCES.
Če glava datoteke ni prepoznana (poskusexecve vrnilENOEXEC), bodo te funkcije izvršile ukazno lupino s potjo datoteke kot njen prvi argument. (Če ta poskus ne uspe, ni nadaljnjega iskanja.)
Vrnjena vrednost
Če kateri koli odexec funkcije vrne, se bo pojavila napaka. Povratna vrednost je -1 in globalna spremenljivka errno bo nastavljena tako, da bo označila napako.
Pomembno: Uporabi človek ukaz ( % človek ), da vidite, kako se na vašem računalniku uporablja ukaz.
Ime
execl, execlp, execle, execv, execvp - izvedite datoteko
Povzetek
#include extern char ** environ; int execl (const char * pot , const char * arg , …); int execlp (const char * mapa , const char * arg , …); int execle (const char * pot , const char * arg , …, char * const envp ); int execv (const char * pot , char * const argv ); int execvp (const char * mapa , char * const argv );













