Lærðu Linux Command - execl

Nafn: execl, execlp, execle, execv, execvp - framkvæma skrá

Yfirlit

#include

ytri char ** umhverfi;

int execl (const char * leið , const char * arg , ...);
int execlp (const char * skrá , const char * arg , ...);
int execle (const char * leið , const char * arg , ..., char * const envp []);
int execv (const char * leið , char * const argv []);
int execvp (const char * skrá , char * const argv []);

Lýsing

Exec fjölskyldan virka kemur í stað núverandi vinnslu myndar með nýjum vinnslu mynd. Aðgerðirnar sem lýst er í þessari handbókarsíðu eru framhlið fyrir aðgerðina (2). Upphafleg rök fyrir þessum aðgerðum er slóðin á skrá sem á að framkvæma.

The const char * arg og síðari ellipses í execl , execlp og execle aðgerðir má hugsa um sem arg0 , arg1 , ..., argn . Saman lýsa þeir lista yfir einn eða fleiri ábendingu við ótengda strengi sem tákna röklistann sem er í boði fyrir framkvæmda forritið. Fyrsta rökin, samkvæmt venju, ætti að benda á skráarnafnið sem tengist skránum sem framkvæmdar eru. Skrárnar á rökum verða að vera lokaðir með NULL bendill.

The execv og execvp virka veita fjölda vísbendinga til ótímabundinna strengja sem tákna röklista sem eru í boði fyrir nýja forritið. Fyrsta rökin, samkvæmt venju, ætti að benda á skráarnafnið sem tengist skránum sem framkvæmdar eru. Fylgjast með fjölda vísbendinga með NULL bendill.

The execle aðgerðin tilgreinir einnig umhverfið í framkvæmda ferlinu með því að fylgja NULL bendillnum sem hættir lista yfir rök í breytu listanum eða bendillnum að argv array með viðbótar breytu. Þessi viðbótarbreytir er fjöldi vísbendinga við ótengda strengi og verður sagt upp með NULL bendill. Hinir aðgerðir taka umhverfið fyrir nýja ferilsmyndina frá ytri breytu umhverfi í núverandi ferli.

Sum þessara aðgerða eru með sérstakar merkingarfræði.

Aðgerðir execlp og execvp munu afrita aðgerðir skelinnar í að leita að executable skrá ef tilgreint skráarnet inniheldur ekki skástrik (/) staf. Leiðsögnin er slóðin sem tilgreind er í umhverfinu með PATH breytu. Ef þessi breytu er ekki tilgreind er sjálfgefið slóð``: / bin: / usr / bin 'notað. Að auki eru ákveðnar villur meðhöndlaðar sérstaklega.

Ef leyfi er hafnað fyrir skrá (reynt að framkvæma skilað EACCES ), munu þessar aðgerðir halda áfram að leita restina af leitarleiðinni . Ef engin önnur skrá finnst, munu þau þó koma aftur með alþjóðlegu breytu sem er sett á EACCES .

Ef hausinn á skrá er ekki viðurkenndur (reynt að framkvæma skilað ENOEXEC ), mun þessi aðgerð framkvæma skeluna með slóð skráarinnar sem fyrsta rök. (Ef þessi tilraun mistekst er ekki leitað að frekari leit.)

Return Value

Ef einhver af exec- aðgerðunum skilar, mun villa hafa átt sér stað. Return gildi er -1 og alþjóðlegt breytu errno verður stillt til að gefa til kynna villuna.