Linux / Unix Kmand: execvp

Isem

execl, execlp, execle, execv, execvp - jesegwixxi fajl

Sinteżi

#include

external char ** environ;

int execl (const char * path , const char * arg , ...);
int execlp (const char * file , 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 * file , char * const argv []);

Ħarsa ġenerali lejn il-Kmand

Il-familja tal- funzjonijiet tal- eżekuzzjoni tissostitwixxi l-immaġni tal-proċess attwali b'immaġni ġdida tal-proċess. Il-funzjonijiet deskritti hawn huma front-ends għall- execve funzjoni (2).

L-argument inizjali għal dawn il-funzjonijiet huwa l-pathname ta 'fajl li għandu jiġi eżegwit.

Il- karattru kostanti u elipsi sussegwenti fil- funzjonijiet ta 'execl , execlp u execle jistgħu jitqiesu bħala arg0 , arg1 , ..., argn . Flimkien jiddeskrivu lista ta 'indikatur wieħed jew aktar għal strings terminati nulli li jirrappreżentaw il-lista tal-argument disponibbli għall-programm imwettaq. L-ewwel argument, skont il-konvenzjoni, għandu jindika l- isem tal-fajl assoċjat mal-fajl li qed jiġi eżegwit. Il-lista ta 'l-argumenti għandha tiġi tterminata minn pointer NULL .

Il-funzjonijiet execv u execvp jipprovdu firxa ta 'indikaturi għal strings terminati nulli li jirrappreżentaw il-lista ta' argument disponibbli għall-programm il-ġdid. L-ewwel argument, skont il-konvenzjoni, għandu jindika l-isem tal-fajl assoċjat mal-fajl li qed jiġi eżegwit. Il-firxa ta 'indikaturi għandha tintemm minn pointer NULL .

Il-funzjoni execle tispeċifika wkoll l-ambjent tal-proċess eżegwit billi ssegwi l-pointer NULL li ttemm il-lista ta 'argumenti fil-lista ta' parametri jew il-pointer għall-argv array b'parametru addizzjonali. Dan il-parametru addizzjonali huwa firxa ta 'indikaturi għal strings terminati nulli u għandu jintemm minn pointer NULL . Il-funzjonijiet l-oħra jieħdu l-ambjent għall-immaġni tal-proċess il-ġdid mill- ambjent varjabbli estern fil-proċess kurrenti.

Xi wħud minn dawn il-funzjonijiet għandhom semantika speċjali.

Il-funzjonijiet execlp u execvp għandhom jidduplikaw l-azzjonijiet tal-qoxra fit-tiftix għal fajl eżekutibbli jekk l-isem tal-fajl speċifikat ma fihx karattru slash (/). Il-path tat-tiftix huwa t-triq speċifikata fl-ambjent mill-varjabbli PATH . Jekk din il-varjabbli mhix speċifikata, tintuża l-passaġġ default ``: / bin: / usr / bin ''. Barra minn hekk, ċerti żbalji huma ttrattati b'mod speċjali.

Jekk il-permess jiġi miċħud għal fajl (l-attentat ta ' eżekuzzjoni rritorna EACCES ), dawn il-funzjonijiet se jkomplu jfittxu l-bqija tat-triq tat-tiftix. Jekk ma jinstab l-ebda fajl ieħor, madankollu, huma se jirritornaw mal-varjabbli globali ffissat għal EACCES .

Jekk l- intestatura ta 'fajl mhix rikonoxxuta (l-attentat ta' l- eżekuzzjoni rritorna ENOEXEC ), dawn il-funzjonijiet se jesegwixxu l-qoxra bit-triq tal-fajl bħala l-ewwel argument tiegħu. (Jekk dan l-attentat jonqos, ma jsir l-ebda tiftix ieħor.)

Valur tar-Ritorn

Jekk xi waħda mill-funzjonijiet ta 'l- eżekutur tirritorna, ikun sar żball. Il-valur tar-ritorn huwa -1, u l-varjabbli globali erno se jiġi stabbilit biex jindika l-iżball.

Importanti: Uża l-kmand tal- bniedem ( % raġel ) biex tara kif tintuża kmand fuq il-kompjuter partikolari tiegħek.