exec obitelj funkcija zamjenjuje trenutnu procesnu sliku novom procesnom slikom. Funkcije opisane ovdje su front-ends za funkcijuexecve(2).
Početni argument za ove funkcije je putanje datoteke datoteke koju treba izvršiti.
const char * arg i naknadne elipse uexecl, execlp, iexecle funkcije se mogu smatrati kao arg0 , ARG1 , …, argn , Zajedno opisuju popis jednog ili više pokazivača na nul terminirane nizove koji predstavljaju argumentni popis koji je dostupan izvršenom programu. Prvi argument, prema konvenciji, trebao bi uputiti na naziv datoteke povezan s datotekom koja se izvršava. Popis argumenata mora biti prekinut aNULL pokazivač.
execv iexecvp funkcije pružaju niz uputa za null-terminated nizove koji predstavljaju popis argumenta dostupnih novom programu. Prvi argument, prema konvenciji, trebao bi uputiti na naziv datoteke povezan s datotekom koja se izvršava. Niz točaka mora biti prekinut aNULL pokazivač.
execle funkcija također određuje okruženje izvršenog procesa slijedećiNULLpokazivač koji završava popis argumenata na popisu parametara ili pokazivač na polju argv s dodatnim parametrom. Ovaj dodatni parametar je skup uputa za null terminirane žice i mora biti prekinut aNULL pokazivač. Druge funkcije uzimaju okoliš za novu procesnu sliku iz vanjske varijable okružiti u trenutnom procesu.
Neke od tih funkcija imaju posebnu semantiku.
Funkcijeexeclp iexecvp kopirat će radnje ljuske u potrazi za izvršnom datotekom ako navedeni naziv datoteke ne sadrži znak (/). Put pretraživanja je put koji u okolišu određujeSTAZA promjenjiva. Ako ova varijabla nije navedena, koristi se zadana staza ``: / bin: / usr / bin ''. Osim toga, određene pogreške posebno se tretiraju.
Ako je dopuštenje odbijeno za datoteku (pokušajexecve vratioEACCES), te će se funkcije nastaviti pretraživati ostatak puta traženja. Ako se ne pronađe nijedna druga datoteka, međutim, oni će se vratiti s globalnom varijablom errno postavljenEACCES.
Ako zaglavlje datoteke nije prepoznato (pokušajexecve vratioENOEXEC), te će funkcije izvršiti ljusku s putom datoteke kao svoj prvi argument. (Ako taj pokušaj ne uspije, nema daljnjih pretraživanja.)
Povratna vrijednost
Ako bilo koji odexec funkcije se vraćaju, doći će do pogreške. Vrijednost povratka je -1, a globalna varijabla errno će biti postavljen na označavanje pogreške.
Važno: Koristiti čovjek naredba ( % čovjek ) kako biste vidjeli kako se naredba koristi na vašem računalu.
Ime
execl, execlp, izvršiti, execv, execvp - izvršiti datoteku
Sinopsis
#include extern char ** environ; int execl (const char * staza , const char * arg , …); int execlp (const char * datoteka , const char * arg , …); int execle (const char * staza , const char * arg , …, char * const envp ); int execv (const char * staza , char * const argv ); int execvp (const char * datoteka , char * const argv );