Lebitso: execl, execlp, execle, execv, execvp - phethahatsa faele
Lintlhakiso
#include
Extern char ** hoo;
int execl (const char * tsela , const char * arg , ...);
int execlp (const char * faele , const char * arg , ...);
int execle (const char * tsela , tlhōlisano, arg , *, char * const envp []);
int execv (const char * tsela , char * const argv []);
int execvp ( faele ya * char, char * const argv []);
Tlhaloso
Lelapa la tshebetso la tshebetso le nkela sebaka sa boemo ba morao-rao ka setšoantšo se secha. Mesebetsi e hlalositsoeng bukeng ena ea libuka e na le sepheo sa ho phetha mosebetsi (2). Khang ea pele ea mesebetsi ena ke tsela ea faele e lokelang ho etsoa.
Mantsoe a qalang le a latelang a ellipses ho execl , execlp , le ho phetha mesebetsi a ka nkoa e le arg0 , arg1 , ..., argn . Ka bobeli ba hlalosa lenane la litlhahiso tse le 'ngoe kapa tse' maloa ho meqhaka e sa felisoeng e emelang lenane la mabaka le fumanehang lenaneong le etsoang. Khang ea pele, ka kopano, e lokela ho supa lebitso la feshene le amahanngoa le faele e etsoang. Lenane la likhang le tlameha ho felisoa ke pointer ea NULL .
Mesebetsi ea execir le execvp e fana ka litlhaloso tse ngata bakeng sa likhoele tse sa khaotseng tse emelang lenane la mabaka le fumanehang lenaneong le lecha. Khang ea pele, ka kopano, e lokela ho supa lebitso la feshene le amahanngoa le faele e etsoang. Litsebiso tse ngata li tlameha ho felisoa ke pointer ea NULL .
Mosebetsi oa ho bolaea o boetse o totobatsa tikoloho ea ts'ebetso e etsoang ka ho latela pointer ea NULL e fokotsang lethathamo la mabaka hothathamong ea parameter kapa pointer ho ea karolong e nang le parameter. Meriana ena e eketsehileng ke melaetsa e mengata bakeng sa likhoele tse khaotsoeng 'me e lokela ho felisoa ke pointer ea NULL . Mesebetsi e meng e nka tikoloho bakeng sa setšoantšo se secha sa ts'ebetso ho tloha mofuteng o ka ntle oa sebopeho se ntseng se etsahala hona joale.
Tse ling tsa mesebetsi ena li na le semantics e khethehileng.
Mesebetsi execlp le execvp e tla etsisa liketso tsa khetla ha li batla faele e ka etsoang haeba lebitso le hlalositsoeng la lifilimi ha le na setšoantšo sa slash (/). Tsela ea ho batla ke tsela e boletsoeng tikolohong ea PATH e fetohang. Haeba phapanyetsano ena e sa boleloe, tsela e sa feleng ea ``: / bin: / usr / bin '' e sebelisoa. Ho phaella moo, liphoso tse itseng li tšoaroa ka ho khetheha.
Haeba tumello e lahleheloa bakeng sa faele (ho leka ho hlahisa EACCES e khutliselitsoeng), mesebetsi ena e tla tsoelapele ho phenyekolla tsela eohle ea ho batla. Haeba ho se na fisi e 'ngoe e fumanoang, leha ho le joalo, ba tla khutla ka mofuthu o fapaneng oa lefatše o behiloeng ho EACCES .
Haeba hlooho ea file e sa tsejoe (ho leka ho khutlisa ENOEXEC ), mesebetsi ena e tla phethahatsa khetla le tsela ea faele e le khang ea eona ea pele. (Haeba teko ena e hlōleha, ha ho sa batlisisoe hape.)
Khutlela Palo
Haeba leha e le efe ea mesebetsi e khutla, phoso e tla ba teng. Ntho ea ho khutla ke -1, 'me mocha o mong le o mong oa lefatše o tla behoa ho bontša phoso.