Detexec familie af funktioner erstatter det aktuelle procesbillede med et nyt procesbillede. Funktionerne beskrevet her er forender til funktionenexecve(2).
Det oprindelige argument for disse funktioner er stienavnet for en fil, som skal udføres.
Det const char * arg og efterfølgende ellipser iexecl, execlp, ogexecle funktioner kan tænkes som arg0 , arg1 , …, argn . Sammen beskriver de en liste over en eller flere pointer til nullterminerede strenge, der repræsenterer argumentlisten til rådighed for det udførte program. Det første argument ved konventionen bør pege på filnavnet i forbindelse med den fil, der udføres. Listen over argumenter skal opsiges af aNUL pointer.
Detexecv ogexecvp funktioner giver en række pointer til nullterminerede strenge, der repræsenterer argumentlisten til rådighed for det nye program. Det første argument ved konventionen bør pege på filnavnet i forbindelse med den fil, der udføres. Opsætningen af pointers skal opsiges af aNUL pointer.
Detexecle funktionen specificerer også miljøet i den udførte proces ved at følgeNULpointer, der afslutter listen over argumenter i parameterlisten eller markøren til argv-arrayet med en ekstra parameter. Denne ekstra parameter er en række pointer til nullterminerede strenge og skal opsiges af aNUL pointer. De øvrige funktioner tager miljøet for det nye procesbillede fra den eksterne variabel Environ i den nuværende proces.
Nogle af disse funktioner har specielle semantik.
Funktionerneexeclp ogexecvp vil duplikere skelets handlinger ved at søge efter en eksekverbar fil, hvis det angivne filnavn ikke indeholder et skråstreg (/) tegn. Søgevejen er den vej, der er angivet i miljøet afSTI variabel. Hvis denne variabel ikke er angivet, bruges standardbanen ``: / bin: / usr / bin ''. Derudover behandles visse fejl specielt.
Hvis tilladelse nægtes for en fil (forsøgetexecve vendt tilbageEACCES), vil disse funktioner fortsætte med at søge resten af søgevejen. Hvis der ikke findes nogen anden fil, returneres de med den globale variabel errno indstillet tilEACCES.
Hvis overskriften på en fil ikke genkendes (forsøgetexecve vendt tilbageENOEXEC), vil disse funktioner udføre skallen med stien til filen som dets første argument. (Hvis dette forsøg mislykkes, foretages der ikke yderligere søgning.)
Returværdi
Hvis nogen afexec funktioner returnerer, vil der opstå en fejl. Returværdien er -1, og den globale variabel errno vil blive indstillet til at angive fejlen.
Vigtig: Brug mand kommando ( % mand ) for at se, hvordan en kommando bruges på din computer.
Navn
execl, execlp, execle, execv, execvp - udfør en fil
Synopsis
#omfatte ekstern char ** environ; int execl (const char * sti , const char * arg , …); int execlp (const char * fil , const char * arg , …); int exlee (const char * sti , const char * arg , …, char * const envp ); int execv (const char * sti , char * const argv ); int execvp (const char * fil , char * const argv );