Pagkat-on sa Linux Command - execv

execl, execlp, execle, execv, execvp - pagpatuman sa usa ka file

Sinopsis

#include

extern char ** environ;

int execl (const char 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 []);

Deskripsiyon sa mga pag-obra

Ang exec family of functions nag-ilis sa kasamtangan nga hulagway sa proseso sa usa ka bag-o nga proseso sa imahe. Ang mga gimbuhaton nga gihulagway niini nga panid nga panid mao ang front-ends alang sa function execve (2). (Tan-awa ang panid nga panid alang sa pagpangita alang sa detalyadong kasayuran mahitungod sa pagpuli sa bag-ong proseso.)

Ang una nga argumento alang niini nga mga gimbuhaton mao ang dalan sa usa ka file nga ipatuman.

Ang const char * arg ug ang nagsunod nga ellipses sa execl , execlp , ug execle nga mga gimbuhaton mahimong gituohan isip arg0 , arg1 , ..., argn . Gihubit nila ang usa ka lista sa usa o labaw pa nga mga igsusulat sa wala'y natapos nga mga hilo nga nagrepresentar sa listahan sa argumento nga anaa sa gipatuman nga programa. Ang unang argumento, pinaagi sa kombensyon, kinahanglan magpunting sa ngalan sa file nga may kalabutan sa file nga gipatuman. Ang lista sa mga argumento kinahanglan nga tapuson pinaagi sa NULL pointer.

Ang mga execv ug execvp nga mga gimbuhaton naghatag og daghang mga taktika ngadto sa null-terminated strings nga nagrepresentar sa lista sa argumento nga anaa sa bag-ong programa. Ang unang argumento, pinaagi sa kombensyon, kinahanglan magpunting sa ngalan sa file nga may kalabutan sa file nga gipatuman. Ang gidaghanon sa mga igtutudlo kinahanglan nga tapuson sa usa ka NULL nga pointer.

Gitino usab sa function sa execle ang kalikupan sa gipatuman nga proseso pinaagi sa pagsunod sa NULL nga pointer nga nagtapos sa lista sa mga argumento sa lista sa parameter o ang pointer sa argv array uban ang dugang nga parameter. Kini nga dugang nga parameter mao ang usa ka gidaghanon sa mga igpunting sa null-natapos nga mga kuldas ug kinahanglan nga tapuson sa usa ka NULL nga pointer. Ang uban pang mga gimbuhaton nga gikuha sa palibot alang sa bag-ong proseso nga imahe gikan sa external variable environment sa kasamtangan nga proseso.

Ang uban niini nga mga gimbuhaton adunay espesyal nga semantika.

Ang mga gimbuhaton nga execlp ug execvp mag-duplicate sa mga aksyon sa kabhang sa pagpangita alang sa usa ka executable file kung ang tinud-an nga pangalan sa file walay sulod nga slash (/) nga karakter. Ang dalan sa pagpangita mao ang dalan nga gitino sa kinaiyahan pinaagi sa variable nga PATH . Kung kini nga variable wala matino, ang default nga dalan nga ``: / bin: / usr / bin '' gigamit. Dugang pa, ang pipila ka mga sayop gitratar ilabi na.

Kon ang pagtugot nga gipanghimakak alang sa usa ka file (ang pagsulay nga pagpatay mibalik EACCES ), kini nga mga gimbuhaton magpadayon sa pagpangita sa nahabilin nga dalan sa pagpangita. Kung walay laing file ang makit-an, bisan pa niana, kini mobalik uban ang global variable errno nga gitakda sa EACCES .

Kung ang header sa usa ka file wala maila (ang pagsulay nga pagpatuman mibalik ENOEXEC ), kini nga mga gimbuhaton mopatuman sa kabhang sa agianan sa file isip unang argumento. (Kon kini nga paningkamot mapakyas, wala'y dugang pagpangita ang nahuman.)

Ibalik ang Bili sa mga Pagpangulo

Kung adunay bisan usa sa mga gimbuhaton sa pagbalik, usa ka sayop ang mahitabo. Ang bili sa pagbalik mao ang -1, ug ang global variable nga errno ibutang aron ipaila ang sayup.