Software

Linux / Unix-opdracht 'execvp'

Schrijver: Robert Simon
Datum Van Creatie: 22 Juni- 2021
Updatedatum: 1 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[]);  

Nieuwe Publicaties

Wij Adviseren

Hoe vinylplaten op cd te bewaren
Gaming

Hoe vinylplaten op cd te bewaren

Afhankelijk van het merk of model van de draaitafel zijn mogelijk een of meer van de volgende aanluitingoptie inbegrepen. Al je een draaitafel hebt die alleen de audio-uitgang met aarde-optie heeft, ...
Wat is een ANNOT-bestand?
Software

Wat is een ANNOT-bestand?

Een betand met de ANNOT-betandextenie i een Adobe Digital Edition Annotation-betand. Dit oort betanden worden opgelagen in het XML-formaat en worden gebruikt om hulpgegeven op te laan voor EPUB-betan...