Skip to main content

Execl - ukaz Linux - ukaz Unix

Anonim

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 * datoteka, 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 * datoteka, char * const argv );

Opis

Theexec družina funkcij zamenja trenutno sliko postopka z novo procesno sliko. Funkcije, opisane v tej strani priročnika, so prednji strani za funkcijoexecve(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, inexeclefunkcije 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. Vrstice kazalcev je treba končati z aNIČ 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.