Funda i-Linux Command - execl

Igama: execl, execlp, execle, execv, execvp - yenza ifayela

Isiqubulo

#include

extern char ** environ;

int execl (const char * indlela , const char * arg , ...);
int execlp (i-const char * ifayela , i-const char * arg , ...);
Inkulumo-mpilo (indlela eshiwo ngayo , indlela yokuxhumana , ..., char, const []);
int execy (const char * indlela , char * const argv []);
int execvp ( ifayela le- const char * , char * const argv []);

Incazelo

Imindeni yemisebenzi ye- exec ishintsha isithombe samanje senqubo ngesithombe esisha senqubo . Imisebenzi echazwe kuleli khasi lebhukwana liphelela phambili ekusebenzeni umsebenzi (2). Ukungqubuzana kokuqala kwale misebenzi kuyinkomba yefayela elizokwenziwa.

I- const char * arg ne-ellipses ezalandela ekusebenzeni , ukwenza umsebenzi , nokwenza imisebenzi ingacatshangwa njenge- arg0 , arg1 , ..., i- argn . Bonke bahlongoza uhlu lwezinkomba ezilodwa noma ngaphezulu ukuze kube nezintambo ezinqanyuliwe ezimelela uhlu lwama-argument olutholakala ohlelweni olwenziwe. Ukuphikisana kokuqala, ngomhlangano, kumele ukhombise igama lefayili elihlobene nefayela elikwenziwa. Uhlu lwezingxabano kumele luqedwe yisikhombisi se- NULL .

Imisebenzi ye- execv and execvp inikeza izici eziningi zezintambo ezinqanyuliwe ezinganqamuki ezimelela uhlu lwezingxoxo ezikhona ohlelweni olusha. Ukuphikisana kokuqala, ngomhlangano, kumele ukhombise igama lefayili elihlobene nefayela elikwenziwa. Iziphakamiso eziningi kufanele ziqedwe ngesikhombisi se- NULL .

Umsebenzi wokukhipha ucacisa imvelo yenqubo ekhishwe ngokulandela umdwebo we- NULL oqeda uhlu lwezingxabano kuhlu lwamapharamitha noma isichazamazwi esigabeni se-argv nepharamitha eyengeziwe. Le pharamitha eyengeziwe iyinhlangano yeziphakamiso ezenzelwe izintambo ezinqanyuliwe futhi kufanele zisuswe isikhombisi se- NULL . Leminye imisebenzi ithatha imvelo yesithombe senqubo entsha kusuka ezindaweni eziguquguqukayo zangaphandle kwinqubo yamanje.

Eminye yale misebenzi ineziqu ze-semantics ezikhethekile.

Imisebenzi ye- execlp ne- execvp izophinda izenzo zegobolondo ekusesheni ifayela eliphathekayo uma igama lefayela elicacisiwe lingenalo uhlamvu lomshini (/). Indlela yokucinga yindlela echazwe emvelweni yi- PATH eguqukayo. Uma lokhu okuguquguqukayo kungacacisiwe, indlela ezenzakalelayo ``: / bin: / usr / bin '' isetshenziswa. Ngaphezu kwalokho, amaphutha athile aphathwa ngokukhethekile.

Uma kuvunyelwe imvume yefayela (ukuzama ukubuyisela i-EACCES ebuyisiwe ), le misebenzi izoqhubeka isesha yonke indlela yokusesha. Uma kungekho enye ifayela etholakala, noma kunjalo, bayobuya ne-variable global errno isethwe ku- EACCES .

Uma i-header yefayela ingabonakali (ukuzama ukubuyisela i-ENOEXEC ebuyisiwe ), le misebenzi izokwenza igobolondo ngendlela yefayela njengengxabano yayo yokuqala. (Uma lo mzamo uhluleka, akukho ukuseshwa okuqhubekayo.)

Buyisela Inani

Uma ngabe yiyiphi imisebenzi yokubuyisela ebuyayo , kube khona iphutha. Inani lokubuya li--1, futhi i-variable errno yomhlaba wonke izobekwa ukuze ibonise iphutha.