Aoao i le Linux Command - execv

execla, execlp, execle, execv, execvp - faia se faila

Aotelega

#include

meli fafo * siomia;

(exec char * path , const char , ...);
(exec char * file , const char * arg , ...);
O le a le mea na e faia ?
(exec char * path , char * const argv []);
int execvp (const char * file , char * const argv []);

Faʻamatalaga o le faatinoina o galuega

O le faatinoga o le aiga o galuega tauave e sui ai le ata o le gaioiga o loʻo i ai nei ma se ata fou gaioiga . O galuega tauave o loʻo faʻamatalaina i totonu o lenei itulau tusi lesona o pito pito i luma ona o le galuega faʻatino (2). (Tagaʻi i le tusi tusi mo le faʻatinoga mo faʻamatalaga auiliili e uiga i le suia o le faagasologa o loʻo iai.)

O le uluai finauga mo nei galuega o le igoa lea o se faila o le a faʻatinoina.

E mafai ona mafaufauina le arg0 , arg1 , ..., argn . Faʻatasi latou te faʻamatalaina se lisi o se tasi poʻo le sili atu faʻamatalaga i laina e le faʻaaogaina e faʻaaogaina e fai ma sui o le lisi o finauga o loʻo avanoa i le polokalama faʻatinoina. O le finauga muamua, e ala i le tauaofiaga, e tatau ona faasino i le igoa o le faila e fesootai ma le faila o loo faatinoina. O le lisi o finauga e tatau ona faamutaina e se faʻailoga NULL .

O le execv ma le execvp galuega e maua ai le tele o faʻamatalaga i laina e le faʻaaogaina e faʻaaogaina e fai ma sui o le lisi o finauga o loʻo avanoa i le polokalama fou. O le finauga muamua, e ala i le tauaofiaga, e tatau ona faasino i le igoa o le faila e fesootai ma le faila o loo faatinoina. E tatau ona faamutaina le numera o mataitusi e se faʻailoga NULL .

O le galuega o le faʻailoga e faʻapitoa ai le siosiomaga o le faʻatinoga faʻatinoina e ala i le mulimuli i le peʻa ole NULL e faamutaina le lisi o finauga i le lisi o faʻamaumauga poʻo le faʻasalalau i le laina eletise ma se parakalafa faaopoopo. O lenei parakalafa faʻaopoopo o se faʻaogaina o faʻamatalaga i laina e le faʻaaogaina ma e tatau ona faamutaina e le NULL pointer. O isi galuega e ave ai le siosiomaga mo le ata fou o le ata mai le fesuiaiga o le fesuiaiga i le taimi nei.

O nisi o nei galuega e iai semantic faapitoa.

O galuega tauave ma le execvp o le a faia faʻalua le gaioiga o le atigi i le sailiga o se faila faila pe afai o le igoa failaina ole igoa e le o aofia ai se uiga slash (/). O le auala suesue o le auala lea ua faʻamaonia i totonu ole siosiomaga e le PATH fesuiaiga. Afai e le faʻamaonia lenei fesuiaiga, o le ala le faʻaogaina '`: / bin: / usr / bin' 'e faʻaaoga. E le gata i lea, o nisi mea sese e togafitia faapitoa.

Afai e faʻatagaina le faʻatagaga mo se faila (o le taumafaiga e toe faʻafoisia le EACCES ), o nei galuega o le a faaauau pea ona suʻeina le vaega o le auala saili. Afai e leai se isi faila e maua, ae ui i lea, o le a latou toe foi mai ma le variable errno o le lalolagi e seti i EACCES .

Afai e le amanaʻia le ulutala o se faila (o le taumafai e toe faʻafoʻi le ENOEXEC ), o nei galuega o le a faʻatinoina ai le atigi ma le ala o le faila e fai ma ana finauga muamua. (Afai e le faia lenei taumafaiga, e leai se isi suʻesuʻega e faia.)

Toe Faʻafoʻi le Taua o Galuega Fai

Afai e toe foʻi mai soʻo se mea, o le a tupu se mea sese. O le tau o le toe fuataʻiga o le -1, ma o le lalolagi variable errno o le a seti e faailoa ai le sese.