Sužinokite Linux Command - execl

Pavadinimas: execl, execlp, execle, execv, execvp - paleisti failą

Anotacija

#include

extern char ** environ;

int execl (const char * path , const char * arg , ...);
int execlp (const char * failas , const char * arg , ...);
int execle (const char * path , const char * arg , ..., char * const envp []);
int execv (const char * path , char * const argv []);
int execvp (const char * failas , char * const argv []);

apibūdinimas

Funkcijų šeimų funkcijos pakeičia dabartinį proceso vaizdą naudojant naują proceso vaizdą. Šiame vadovo puslapyje aprašytos funkcijos yra funkcijos execve (2) priekiniai galai. Pirminis šių funkcijų argumentas yra failo, kuris turi būti įvykdytas, kelias.

" Const char * arg" ir vėlesnės elipsės execl , execlp ir execlo funkcijose gali būti laikomos arg0 , arg1 , ..., argn . Kartu jie apibūdina vieno ar kelių rodyklių, kurių pabaigoje nėra nulinių taškų, sąrašą, kuris pateikia vykdomai programai taikomą argumentų sąrašą. Pirmasis argumentas, pagal susitarimą, turėtų nurodyti bylos pavadinimą, susietą su vykdomu failu . Argumentų sąrašas turi būti nutrauktas NULL rodikliu.

" Execv" ir " execvp" funkcijos pateikia nuorodų masyvą nulinės baigties styginiams, kurie nurodo naujos programos prieigą prie argumentų sąrašo. Pirmasis argumentas, pagal susitarimą, turėtų nurodyti bylos pavadinimą, susietą su vykdomu failu. Rodyklių masyvas turi būti nutrauktas NULL rodikliu.

" Execle" funkcija taip pat nurodo vykdomo proceso aplinką, vykdydama NULL rodiklį, kuris nutraukia argumentų sąrašą parametrų sąraše arba rodyklę į argv masyvą su papildomu parametru. Šis papildomas parametras yra nurodymų masyvas nulinės baigties eilučių ir turi būti nutrauktas NULL rodikliu. Kitos funkcijos perima aplinką naujam proceso vaizdui iš išorinio kintamojo aplinka dabartiniame procese.

Kai kurios iš šių funkcijų turi specialią semantiką.

Funkcijos execlp ir execvp dubliuos apvalkalo veiksmus ieškant vykdomojo failo, jei nurodytame failo pavadinime nėra skalūno (/) simbolio. Paieškos kelias yra kelias, nurodytas aplinkoje, naudojant kintamąjį PATH . Jei šis kintamasis nenurodytas, naudojamas numatytasis maršrutas ``: / bin: / usr / bin ''. Be to, tam tikros klaidos yra traktuojamos specialiai.

Jei failui atsisakoma leisti (bandoma vykdyti reputaciją EACCES ), šios funkcijos toliau ieškos likusios paieškos kelio. Jei nė vienas kitas failas nerastas, jie grįš kartu su globaliniu kintamuoju errno, nustatytu EACCES .

Jei failo antraštė nėra atpažįstama (bandymas execve grąžintas ENOEXEC ), šios funkcijos vykdys apvalkalo su failo keliu kaip pirmuoju argumentu. (Jei šis bandymas nepavyks, tolesnė paieška nebus atlikta.)

Grąžos vertė

Jei bet kuri iš exec funkcijų grąžina, įvyko klaida. Grąžinimo reikšmė yra -1, o pasaulinis kintamasis errno bus nustatytas kaip klaidos reikšmė.