Exec toimintojen perhe korvaa nykyisen prosessikuvan uudella prosessikuvalla. Tässä kuvatut toiminnot ovat toiminnon etuosatexecve(2).
Näiden toimintojen alustava argumentti on suoritettavan tiedoston polku.
const char * arg ja sen jälkeiset ellipsitexecl, execlp, jaexecle toimintoja voidaan ajatella arg0 , ARG1 , …, argn . Yhdessä he kuvaavat luettelon yhdestä tai useammasta osoittimesta nollautuneisiin merkkijonoihin, jotka edustavat suoritettavan ohjelman käytettävissä olevaa argumenttiluetteloa. Ensimmäinen argumentti, yleissopimuksessa, olisi osoitettava tiedostoon, joka liittyy suoritettavaan tiedostoon. Argumenttien luettelo on pakko lopettaa aTYHJÄ osoitin.
execv jaexecvp funktiot tarjoavat joukon osoittimia nollattuihin merkkijonoihin, jotka edustavat uuden ohjelman käytettävissä olevaa argumenttiluetteloa. Ensimmäinen argumentti, yleissopimuksessa, olisi osoitettava tiedostoon, joka liittyy suoritettavaan tiedostoon. Mittarien joukko on pakko lopettaa aTYHJÄ osoitin.
execle toiminto määrittää myös toteutetun prosessin ympäristön seuraamallaTYHJÄosoitin, joka lopettaa argumenttiluettelon parametriluettelossa tai osoittimen argv-taulukkoon lisäparametrilla. Tämä lisäparametri on joukko osoittimia nollaterminaaleihin ja on pakko lopettaa aTYHJÄ osoitin. Muut toiminnot ottavat ympäristöön uuden prosessikuvan ulkoisesta muuttuvalta environ nykyisessä prosessissa.
Joillakin näistä toiminnoista on erityinen semantiikka.
Toiminnotexeclp jaexecvp kopioi shellin toiminnot etsittäessä suoritettavaa tiedostoa, jos määritetyssä tiedostossa ei ole slash (/) -merkkiä. Hakupolku on ympäristöllä määritetty polkuPATH muuttuja. Jos tätä muuttujaa ei ole määritetty, käytetään oletuspolkua ``: / bin: / usr / bin ''. Lisäksi tiettyjä virheitä käsitellään erityisesti.
Jos tiedostoa ei hyväksytä (yrittääexecve palautettuEACCES), nämä toiminnot jatkavat etsimistä muussa hakupolussa. Jos mikään muu tiedosto ei löydy, ne palaavat kuitenkin globaalilla muuttujalla errno asetettuEACCES.
Jos tiedoston otsikkoa ei tunnisteta (yritettyexecve palautettuENOEXEC), nämä toiminnot suorittavat kuoren tiedoston polulla ensimmäisenä argumenttina. (Jos tämä yritys epäonnistuu, etsintä ei enää suoriteta.)
Palautusarvo
Jos jokuExec toiminnot palautuvat, virhe on tapahtunut. Palautusarvo on -1 ja globaali muuttuja errno asetetaan ilmaisemaan virhe.
Tärkeä: Käytä mies komento ( % mies ), miten komentoa käytetään tietyssä tietokoneessa.
Nimi
execl, execlp, execle, execv, execvp - suorita tiedosto
tiivistelmä
#sisältää extern char ** ympäristö; int execl (const char * polku , const char * arg , …); int execlp (const char * tiedosto , const char * arg , …); int execle (const char * polku , const char * arg , …, char * const envp ); int execv (const char * polku , char * const argv ); int execvp (const char * tiedosto , char * const argv );