Programvara

Linux / Unix-kommando "execvp"

Författare: Robert Simon
Skapelsedatum: 22 Juni 2021
Uppdatera Datum: 12 Maj 2024
Anonim
fork() and exec() System Calls
Video: fork() and exec() System Calls

Innehåll

Deexec familj med funktioner ersätter den aktuella processbilden med en ny processbild. Funktionerna som beskrivs här är frontändarna för funktionenexecve(2). 

Det första argumentet för dessa funktioner är söknamnet på en fil som ska köras.

Deconst char * arg och efterföljande ellipser iexeclexeclp, ochexecle funktioner kan betraktas somarg0arg1, ..., argN. Tillsammans beskriver de en lista med en eller flera pekare på noll-avslutade strängar som representerar argumentlistan tillgänglig för det körda programmet. Det första argumentet, enligt konvention, bör peka på filnamnet associerat med filen som körs. Listan med argumentmåste avslutas med aNULL pekare.


Deexecv ochexecvp funktioner tillhandahåller en rad pekare till nollavslutade strängar som representerar argumentlistan tillgänglig för det nya programmet. Det första argumentet, enligt konvention, bör peka på filnamnet associerat med filen som körs. Utbudet av pekaremåste avslutas med aNULL pekare.

Deexecle funktionen specificerar också miljön för den exekverade processen genom att följaNULLpekaren som avslutar listan med argument i parameterlistan eller pekaren till argv-arrayen med en ytterligare parameter. Denna ytterligare parameter är en rad pekare till nollavslutade strängar ochmåste avslutas med aNULL pekare. De andra funktionerna tar miljön för den nya processbilden från den externa variabelnenviron i den aktuella processen.

Vissa av dessa funktioner har speciell semantik.

Funktionernaexeclp ochexecvp kommer att duplicera skalens handlingar när du söker efter en körbar fil om det angivna filnamnet inte innehåller ett snedstreck (/) -tecken. Sökvägen är den sökväg som anges i miljön avVÄG variabel. Om denna variabel inte anges, används standardvägen `: / bin: / usr / bin ''. Dessutom behandlas vissa fel speciellt.


Om tillstånd nekas för en fil (det försökteexecve returneradEACCES), fortsätter dessa funktioner att söka resten av sökvägen. Om ingen annan fil hittas kommer de emellertid tillbaka med den globala variabelnFelkod satt tillEACCES.

Om rubriken på en fil inte känns igen (det försökteexecve returneradENOEXEC), kommer dessa funktioner att köra skalet med filens sökväg som sitt första argument. (Om detta försök misslyckas görs ingen ytterligare sökning.)

Returvärde

Om någon avexec funktioner återgår, ett fel har inträffat. Avkastningsvärdet är -1 och den globala variabelnFelkod kommer att ställas in för att indikera felet.

Användman kommando (% man) för att se hur ett kommando används på din dator.

namn

execl, execlp, execle, execv, execvp - kör en fil


Synopsis

#omfatta

extern char ** miljö;

int execl (const char *väg, const char *arg, ...); int execlp (const char *fil, const char *arg, ...); int execle (const char *väg, const char *arg , ..., char * constenvp[]); int execv (const char *väg, char * constargv[]); int execvp (const char *fil, char * constargv[]);  

Populär På Portalen

Intressant Idag

Få iCloud Mail som fungerar på din Mac
Internet

Få iCloud Mail som fungerar på din Mac

iCloud, Apple löning på molnbaerad lagring och ynkroniering, inkluderar ett grati webbaerat e-potkonto om kan nå från alla Mac-, Window- eller iO-enheter med iCloud-webbplaten via...
Hur man ansluter en PS3-controller till en dator
Gaming

Hur man ansluter en PS3-controller till en dator

Att använda en P4-tyrenhet med en PC är en enkel plug-and-play-operation. Men att anluta Dualhock 3-kontrollen till en dator kräver betydligt mer anträngning. Ändå ä...