Software

Linux / Unix-opdracht 'execvp'

Schrijver: Robert Simon
Datum Van Creatie: 22 Juni- 2021
Updatedatum: 12 Kunnen 2024
Anonim
Linux / Unix-opdracht 'execvp' - Software
Linux / Unix-opdracht 'execvp' - Software

Inhoud

Deexec Functiefamilie vervangt het huidige procesbeeld door een nieuw procesbeeld. De hier beschreven functies zijn front-ends voor de functieexecve(2). 

Het eerste argument voor deze functies is de padnaam van een uit te voeren bestand.

Deconst char * arg en volgende ellipsen in deuitvoerenexeclp, enexecle functies kunnen worden gezien alsarg0arg1, ..., argn. Samen beschrijven ze een lijst van een of meer verwijzingen naar tekenreeksen met een null-einde die de lijst met argumenten vertegenwoordigen die beschikbaar is voor het uitgevoerde programma. Het eerste argument zou volgens afspraak moeten verwijzen naar de bestandsnaam die is gekoppeld aan het bestand dat wordt uitgevoerd. De lijst met argumentenmoet worden beëindigd door eenNUL wijzer.


Deexecv enexecvp functies bieden een reeks verwijzingen naar tekenreeksen met een null-einde die de lijst met argumenten vertegenwoordigen die beschikbaar is voor het nieuwe programma. Het eerste argument zou volgens afspraak moeten verwijzen naar de bestandsnaam die is gekoppeld aan het bestand dat wordt uitgevoerd. De reeks aanwijzersmoet worden beëindigd door eenNUL wijzer.

Deexecle functie specificeert ook de omgeving van het uitgevoerde proces door de te volgenNULpointer die de lijst met argumenten in de parameterlijst of de pointer naar de argv-array beëindigt met een extra parameter. Deze aanvullende parameter is een array van verwijzingen naar tekenreeksen met null-terminus enmoet worden beëindigd door eenNUL wijzer. De andere functies nemen de omgeving voor het nieuwe procesimage over van de externe variabeleomgeving in het huidige proces.

Sommige van deze functies hebben een speciale semantiek.

De functiesexeclp enexecvp zal de acties van de shell dupliceren bij het zoeken naar een uitvoerbaar bestand als de opgegeven bestandsnaam geen slash (/) -teken bevat. Het zoekpad is het pad dat door dePAD variabel. Als deze variabele niet is gespecificeerd, wordt het standaardpad ``: / bin: / usr / bin '' gebruikt. Bovendien worden bepaalde fouten speciaal behandeld.


Als toestemming wordt geweigerd voor een bestand (de pogingexecve teruggekeerdEACCES), zullen deze functies de rest van het zoekpad blijven doorzoeken. Als er echter geen ander bestand wordt gevonden, zullen ze terugkeren met de globale variabeleerrno ingesteld opEACCES.

Als de koptekst van een bestand niet wordt herkend (de pogingexecve teruggekeerdENOEXEC), zullen deze functies de shell uitvoeren met het pad van het bestand als eerste argument. (Als deze poging mislukt, wordt er niet verder gezocht.)

Winstwaarde

Als een van deexec functies terugkeert, zal er een fout zijn opgetreden. De geretourneerde waarde is -1 en de globale variabeleerrno wordt ingesteld om de fout aan te geven.

Gebruik deMens commando (% Mens) om te zien hoe een commando wordt gebruikt op uw specifieke computer.

Naam

execl, execlp, execle, execv, execvp - voer een bestand uit


Korte inhoud

#include

externe char ** omgeving;

int execl (const char *pad, const char *arg, ...); int execlp (const char *het dossier, const char *arg, ...); int execle (const char *pad, const char *arg , ..., char * constenvp[]); int execv (const char *pad, char * constargv[]); int execvp (const char *het dossier, char * constargv[]);  

Interessant Vandaag

Keuze Van Lezers

Tekstberichten Tips die gegevensplannen vermijden
Internet

Tekstberichten Tips die gegevensplannen vermijden

Je kunt meer doen met m'en (of m'en) dan korte berichten naar vrienden turen. Al u betaalt voor een m-abonnement of m-berichten in uw abonnement i inbegrepen, hebt u mogelijk geen mobiel inte...
Wat is Qobuz?
Gaming

Wat is Qobuz?

Qobuz i een ervice voor het treamen / downloaden van muziek die in 2008 i opgericht. De ervice i begonnen in Frankrijk en uitgebreid naar andere belangrijke Europee landen. Het kwam in 2019 bechikbaa...