Dzidzai Linux Command - execl

Zita: execl, execlp, execle, execv, execvp - ita faira

Zvinyorwa

#include

extern char ** environ;

int execl (const char * nzira , const char * arg , ...);
int execlp (const char * file , const char * arg , ...);
int execle (const char * nzira , const char * arg , ..., char * const envp []);
int execv (const char * nzira , char * const argv []);
intamba (const char * file , char * const argv []);

Tsanangudzo

Mhuri yekuita yemabasa inotora nzvimbo yemaitiro ino yemaitiro nemutambo mutsva. Izvo zvinorondedzerwa mubhuku rino remabhuku zviri mberi-zvinogumira zvebasa execve (2). Nharo yokutanga yemabasa aya ndiyo nzira yefaira inofanira kuiswa.

Icho chinonzi char char * arg uye zvinotevera zvinyorwa mu execl , execlp , uye kuita mabasa zvinogona kufungidzirwa se arg0 , arg1 , ..., argn . Vose vari kurondedzera rondedzero imwechete kana kuti mamwe majekiti kuti zvisungo zvisingagumi zvigadziriswa zvinomiririra mutsara unotarirwa purogiramu yakaitwa. Nharo yokutanga, nekokorodzano, inofanira kureva zita refaira rinosanganiswa nefaira riri kuitwa. Nhamba yemakakatanwa inofanira kubviswa neNULL pointer.

Iyo inoita uye inoita mabasa inopa mavara ezvinyorwa kune zvidzitiro zvisingagumi zvisingagumi izvo zvinomiririra rondedzero inowanikwa purogiramu itsva. Nharo yokutanga, nekokorodzano, inofanira kureva zita refaira rinosanganiswa nefaira riri kuitwa. Mavara ehurukuro anofanira kubviswa neNULL pointer.

Izvo zvinoita basa rinotsanangurawo mamiriro ehutachiona kuburikidza nekutevera NIL pointer iyo inopedzisa urongwa hwemakakatanwa muchirongwa chemasimende kana kuti pointer kumagwaro akafanana nemimwe parameter. Iyi imwe piramu inongorongedza zvimiso zvakasimbiswa uye zvisingafaniri kugadziriswa neNULL pointer. Imwe mabasa inotora mamiriro ezvematongerwo emufananidzo mutsva wekushandura kubva kune vari kunze kwekushanduka- shanduka mukati mehutano huno.

Mamwe emabasa aya ane masantics anokosha.

Izvo mabasa execlp uye execvp ichadzokorora zviito zvekombodhi mukutsvaga faira inoshandiswa kana zita rakanyorwa refaira risina chekushanda (/) unhu. Nzira yekutsvaga ndiyo nzira inotsanangurwa munharaunda nePATH inoshandiswa. Kana iri shanduko isati yasarudzwa, iyo nzira isina kukwana ``: / bin: / usr / bin '' inoshandiswa. Mukuwedzera, zvimwe zvikanganiso zvinobatwa zvakanyanya.

Kana chibvumirano chakarambwa nokuda kwefaira (iyo yakaedza kuvhara EACCES yakadzoka), mabasa aya acharamba achitsvaga nzira yose yekutsvaga. Kana pasina imwe faira inowanikwa, zvisinei, ichadzoka neshanduko yepasi rose inotarirwa kuEACCES .

Kana iyo musoro wefaira isingazivikanwi (yakaedza kuita kuti idzoke yakadzorerwa ENOEXEC ), mabasa aya achaita shell neyo nzira yefaira seyo nharo yayo yokutanga. (Kana kuedza uku kukundikana, hapana kutsvakurudza kunoitwa.)

Dzorera kukosha

Kana imwe yeiyo mabasa inodzoka, iko kukanganisa kuchaitika. Nhamba yekudzoka i1, uye pasi rose errno ichagadzirirwa kuratidza kukanganisa.