Phunzirani Linux Command - execl

Dzina: execl, execlp, execle, execv, execvp - perekani fayilo

Zosinthasintha

#phatikiza

extern char ** pafupifupi;

int execl (const char * njira , const char * arg , ...);
int execlp (const char * fayilo , const char * arg , ...);
int execle (const char * njira , mawu akuti , ..., char * const []];
int execv (const char * njira , char * const argv []);
int execvp (const char * fayilo , char * const argv []);

Kufotokozera

Banja la ntchito lopachika limalowetsa chithunzi cha ndondomeko yamakono ndi chithunzi chatsopano. Ntchito zomwe zafotokozedwa m'buku lino ndizomwe zimayambanso ntchito (2). Kukangana koyamba kwa ntchitoyi ndi njira ya fayilo yomwe iyenera kuchitidwa.

Zolemba zotsatizana ndi zotsatizana zomwe zikuchitika mu execl , execlp , ndi kuchitapo ntchito zingaganizedwe monga arg0 , arg1 , ..., argn . Onsewa akulongosola mndandanda wa zojambula chimodzi kapena zingapo kuti zikhale ndi zingwe zopanda malire zomwe zikuyimira mndandanda wa ndondomeko yomwe ikupezeka pa pulogalamuyi. Mtsutso woyamba, pamsonkhano, uyenera kulongosola dzina la fayilo likugwirizana ndi fayilo ikuchitidwa. Mndandanda wa zifukwa ziyenera kuthetsedwa ndi NULL pointer.

Ntchito zowonongeka ndi zowononga zimapereka ndondomeko yowonjezera kwa zingwe zopanda malire zomwe zikuyimira mndandanda wa zokambirana zomwe zilipo pulogalamu yatsopano. Mtsutso woyamba, pamsonkhano, uyenera kulongosola dzina la fayilo likugwirizana ndi fayilo ikuchitidwa. Zolemba zambiri ziyenera kuthetsedwa ndi NULL pointer.

Ntchito yophedwa imatanthauzanso chilengedwe cha ndondomeko yomwe yachitidwa potsatira ndondomeko ya NULL yomwe imathetsa mndandanda wa zokambirana pa mndandandanda wa pulogalamuyo kapena pointer ku ndondomeko yomwe ili ndi parameter yowonjezereka. Pulogalamuyi yowonjezereka ndizolemba zosiyidwa kuti zisamalire zingwe zomwe zimathetsedwa ndipo ziyenera kuthetsedwa ndi polemba NULL . Ntchito zina zimatenga chilengedwe chazithunzi zatsopano kuchokera kumalo osinthika omwe ali panopa.

Zina mwa ntchitozi zili ndi masantic apadera.

Ntchito za execlp ndi execvp zidzasinthira zochita za chipolopolo pofufuza fayilo yotheka ngati dzina lopatsidwa layilo liribe khalidwe lopanda (/). Njira yofufuzira ndiyo njira yowonongeka ndi chilengedwe ndi PATH yosiyana. Ngati osasintha izi sizinatchulidwe, njira yosasinthika ``: / bin: / usr / bin '' imagwiritsidwa ntchito. Komanso, zolakwika zina zimaperekedwa makamaka.

Ngati chilolezo chikutsutsidwa kwa fayilo (kuyesa kuchitapo kanthu kubwezera EACCES ), ntchitoyi idzapitiriza kufufuza njira yonse yosaka. Ngati palibe fayilo ina yowonjezera, idzabwereranso ndi variable variable errno yomwe idaikidwa ku EACCES .

Ngati mutu wa fayilo sukuzindikiridwa (kuyesa kubwezeretsa ENOEXEC ), ntchitoyi idzachita chipolopolocho ndi njira ya fayilo ngati yankho lake loyamba. (Ngati zotsatirazi zikulephera, palibe kufufuza kosatheka.)

Bweretsani Mtengo

Ngati ntchito iliyonse yobwezeretsa ikubwerera, vuto lidzachitika. Mtengo wobwereza ndi -1, ndipo kusintha kosintha kwa dziko lonse kudzasankhidwa kuti ziwonetse zolakwikazo.