Skip to main content

Alt om Linux / Unix Command: execvp

Linux Exec System Call (April 2025)

Linux Exec System Call (April 2025)
Anonim

Deexec familie av funksjoner erstatter det nåværende prosessbildet med et nytt prosessbilde. Funksjonene som er beskrevet her er frontender for funksjonenexecve(2).

Det opprinnelige argumentet for disse funksjonene er banenavnet til en fil som skal utføres.

De const char * arg og etterfølgende ellipser iexecl, execlp, ogexecle funksjoner kan tenkes som arg0 , arg1 , …, argn . Sammen beskriver de en liste over en eller flere pekere til nullterminerte strenger som representerer argumentlisten som er tilgjengelig for det utførte programmet. Det første argumentet, etter konvensjon, bør peke på filnavnet som er knyttet til filen som blir utført. Listen over argumenter må bli avsluttet av aNULL pekeren.

Deexecv ogexecvp funksjoner gir en rekke poeng til nullterminerte strenger som representerer argumentlisten som er tilgjengelig for det nye programmet. Det første argumentet, etter konvensjon, bør peke på filnavnet som er knyttet til filen som blir utført. Utvalget av pekere må bli avsluttet av aNULL pekeren.

Deexecle Funksjonen spesifiserer også miljøet i den utførte prosessen ved å følgeNULLpekeren som avslutter listen over argumenter i parameterlisten eller pekeren til argv-arrayet med en ekstra parameter. Denne ekstra parameteren er en rekke poeng til nullterminerte strenger og må bli avsluttet av aNULL pekeren. De andre funksjonene tar miljøet for det nye prosessbildet fra den eksterne variabelen miljø i den nåværende prosessen.

Noen av disse funksjonene har spesiell semantikk.

Funksjoneneexeclp ogexecvp vil duplisere handlingene til skallet ved å lete etter en kjørbar fil hvis det angitte filnavnet ikke inneholder et skråstrek (/) tegn. Søkebanen er banen som er angitt i miljøet avSTI variabel. Hvis denne variabelen ikke er angitt, brukes standard banen ``: / bin: / usr / bin ''. I tillegg behandles visse feil spesielt.

Hvis tillatelse nektes for en fil (forsøketexecve returnertEACCES), vil disse funksjonene fortsette å søke resten av søkebanen. Hvis ingen annen fil er funnet, kommer de tilbake med den globale variabelen Feilkode satt tilEACCES.

Hvis overskriften til en fil ikke gjenkjennes (forsøketexecve returnertENOEXEC), vil disse funksjonene utføre skallet med stien til filen som det første argumentet. (Hvis dette forsøket mislykkes, blir det ikke foretatt ytterligere søk.)

Returverdi

Hvis noen avexec Funksjoner returnerer, vil det oppstå en feil. Avkastningsverdien er -1, og den globale variabelen Feilkode vil bli angitt for å indikere feilen.

Viktig: Bruke Mann kommando ( % Mann ) for å se hvordan en kommando brukes på din datamaskin.

Navn

execl, execlp, execle, execv, execvp - utfør en fil

Synopsis

#inkludere

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 );