Fantaro ny baiko Linux - execl

Anarana: execl, execlp, execle, execv, execvp - manatanteraka rakitra

Synopsis

#include

external char ** environ;

ent execl (const char * lalana , const char * arg , ...);
int excll (const char * file , const char * arg , ...);
int execle (const char * lalana , const char * arg , ..., char * const envp []);
int execv (const char * lalana , char * const argv []);
int execvp (const char * rakitra , char * const argv []);

Description

Ny famaritana ny tetiarana dia manolo ny sary amin'ny dingana misy ankehitriny miaraka amin'ny sary vaovao. Ny lahasa voalaza ao amin'ity pejin- tsampan -tsoratry ity dia ny endriny farany amin'ny asa atao (2). Ny soso-kevitra voalohany momba ireo asa ireo dia ny anaran'ny anaran'ny rakitra iray izay hovonoina.

Ny fifandimbiasam- peo * sy ny ellipse manaraka dia ao anelanelan'ny execl , execlp , ary ny fanao dia azo heverina ho arg0 , arg1 , ..., argn . Izy ireo dia mamaritra ny lisitry ny toro-hevitra iray na maromaro amin'ny sombin-tsoratra tsy voafaritra izay maneho ny lisitry ny olom-banona ho an'ny programa voavono. Ny soso-kevitra voalohany, amin'ny fivoriambe, dia tokony hanondro ny anaran'ny rakitra mifandraika amin'ny rakitra ampiasaina . Ny lisitr'ireo hevitra dia tsy maintsy apetraky ny toro-hevitra NULL .

Ny fonosana executv sy execvp dia manome endri-tsoratra amin'ny endritsoratra tsy voafaritra izay maneho ny lisitry ny adihevitra azo ampiasaina amin'ny programa vaovao. Ny soso-kevitra voalohany, amin'ny fivoriambe, dia tokony hanondro ny anaran'ny rakitra mifandraika amin'ny rakitra ampiasaina. Ny endriky ny endri-tsoratra dia tsy maintsy apetraky ny toro-hevitra NULL .

Ny fitrangan-tsokajy dia mamaritra ny tontolo manodidina ny dingana efa novonoina amin'ny alalan'ny fanarahana ny toro-hevitra NULL izay mamaritra ny lisitry ny hevitra ao amin'ny lisitry ny parameter na ny mpanondro amin'ny argv array miaraka amin'ny mari-pamantarana hafa. Ity parameter fanampiny ity dia sariohatry ny endritsoratra amin'ny endritsoratra tsy voafaritra ary tsy maintsy apetraky ny toro-hevitra NULL . Ireo asa hafa dia mitondra ny tontolo iainana amin'ny endrika fizotry ny dingana vaovao avy amin'ny faritra manodidina ny fari-pahaizana hafa amin'ny dingana ankehitriny.

Ny sasany amin'ireo asa ireo dia manana semantika manokana.

Ny fonosana execlp and execvp dia mamerina manamboatra ny hetsika ao amin'ny shell amin'ny fikatsahana ny rakitra azo atao raha toa ka tsy misy slash (/) ny anaran'ny rakitra voalaza. Ny lalan-dàlana dia ny lalana voatondro eo amin'ny tontolo iainana amin'ny alàlan'ny PATH . Raha toa ka tsy voalaza io fariilana io, dia ampiasaina ny lalana ``: / bin: / usr / bin ''. Ankoatra izany, diso ny fahadisoana sasany.

Raha avela ho an'ny antontan-taratasy ny fahazoan-dàlana ( alefa ny EACCES ) dia hanohy hikaroka ny sisa amin'ny lalan-dàlana ireo asa ireo. Raha tsy misy rakitra hafa no hita, dia hiverina izy ireo miaraka amin'ny errno variable variable napetraka ao amin'ny EACCES .

Raha tsy ekena ny lohatenin'ny rakitra iray (niverina ny ENOEXEC ny fanandramana natao ), dia hampihatra io sora-damba io amin'ny làlan'ny rakitra ho voalohany. (Raha toa ka tsy mahomby io ezaka io, dia tsy misy intsony ny fikarohana.)

Return Value

Raha toa ka miverina ny asa iray, dia hisy ny fahadisoana. Ny sandan'ny fiverenana dia -1, ary ny errno manova erantany dia haseho mba hampisehoana ny hadisoana.