Skip to main content

Execl - Comandamentul Linux - Comandamentul Unix

You can learn Arduino in 15 minutes. (Aprilie 2025)

You can learn Arduino in 15 minutes. (Aprilie 2025)
Anonim

Nume: execl, execlp, execle, execv, execvp - executa un fisier

Rezumat

#include extern char ** mediu; int execl (const char * cale, const char * arg, …);int execlp (const char * fișier, const char * arg, …);int execle (const char * cale, const char * arg, …, char * const envp );int execv (const char * cale, char * const argv );int execvp (const char * fișier, char * const argv );

Descriere

Exec familia de funcții înlocuiește imaginea curentă a procesului cu o nouă imagine a procesului. Funcțiile descrise în această pagină a manualului reprezintă funcțiile frontale ale funcțieiexecve(2). Argumentul inițial pentru aceste funcții este numele de cale al unui fișier care urmează să fie executat.

const char * arg și elipsele ulterioare înexecl, execlp, șiexeclefuncțiile pot fi considerate ca fiind arg0 , ARG1 , …, argn . Împreună descriu o listă cu unul sau mai mulți indicatori pentru șiruri cu null-terminate care reprezintă lista de argumente disponibile pentru programul executat. Primul argument, prin convenție, ar trebui să indice numele fișierului asociat fișierului care se execută. Lista argumentelor trebuie sa să fie reziliat de un aNUL pointer.

execv șiexecvp oferă o serie de indicatori pentru șiruri cu null-terminate care reprezintă lista de argumente disponibile pentru noul program. Primul argument, prin convenție, ar trebui să indice numele fișierului asociat fișierului care se execută. Setul de pointeri trebuie să fie terminat de aNUL pointer.

execle funcția specifică și mediul procesului executat prin urmărireaNUL pointer care întrerupe lista argumentelor din lista de parametri sau pointerul la array argv cu un parametru suplimentar. Acest parametru suplimentar este o serie de indicii pentru șiruri cu null-terminate și trebuie sa să fie reziliat de un aNUL pointer. Celelalte funcții iau mediul pentru noua imagine de proces din variabila externă Environ în procesul actual.

Unele dintre aceste funcții au o semantică specială.

Funcțiileexeclp șiexecvp va duplica acțiunile shell-ului în căutarea unui fișier executabil dacă numele de fișier specificat nu conține un caracter slash (/). Calea de căutare este calea specificată în mediu de cătreCALE variabil. Dacă această variabilă nu este specificată, se folosește calea implicită ``: / bin: / usr / bin ''. În plus, anumite erori sunt tratate special.

Dacă permisiunea este refuzată pentru un fișier (încercareaexecve întorsEACCES), aceste funcții vor continua să caute restul căii de căutare. Dacă nu se găsește niciun alt fișier, acestea se vor întoarce cu variabila globală errno setat laEACCES.

Dacă antetul unui fișier nu este recunoscut (încercareaexecve întorsENOEXEC), aceste funcții vor executa shell-ul cu calea fișierului ca prim argument. (Dacă această încercare nu reușește, nu se efectuează căutări.)

Valoare returnată

În cazul în care oricare dintreExec funcțiile returnează, s-a produs o eroare. Valoarea returnată este -1 și variabila globală errno va fi setat pentru a indica eroarea.