Scopri à u Linux Command - execv

execl, execlp, execle, execv, execvp - fate un schedariu

Sinopsia

#include

external char ** environ;

int execl (const char * path , const char * arg , ...);
int execlp (const char * file , const char * arg , ...);
int execle (const char * path , const char * arg , ..., char * const envp []);
int execv (const char * path , char * const argv []);
int execvp (const char * file , char * const argv []);

Scelta di funziunalità exec

A ghjuridica di i funziunalità sustituisce l'image di prucessu attuale cù una nova dimora di prucessa . I funzioni scritte in questa pàgina mannulla sò frontiere per a funzione execve (2). (Vede a pàgina di manuale per execve per infurmazioni detallati nantu à a sustituzione di u prucessu attuale).

L'argumenti iniziali per e funzioni hè a via di un schedariu chì deve esse eseguitu.

A const char * arg è elliesi sussisciuti in u execl , execlp , è funzioni execle pò esse pensatu com arg0 , arg1 , ..., argn . Inseme si ponenu una lista di unu o più persone per a strings termite à termine chì rapprisentanu a lista d'argumenti dispunibili à u prugramma realizatu. U primu scopu, da cunvenzione, deve signalà u nome di l'archive chì hè assuciatu cù u schedariu esse esercitu. A lista di l'argumenti vole esse elettu da un puntero NULL .

A funzioni d'execv è execvp proporcionanu un array of pointers à strings termite di terminazione chì ponenu a lista d'argumenti dispunibili à u novu prugramma. U primu scopu, da cunvenzione, deve signalà u nome di l'archive chì hè assuciatu cù u schedariu esse esercitu. A varietà di punteri deve esse stata cunclusa da un puntero NULL .

A funziona di l' execle specifica l'ambientu di u prucessu eseguitu da seguitu u puntero NULL chì finisce a lista di l'argumenti in a lista di paràmetru o u punente à a lista argv cun un paràmetru addiziale. Stu paràmetru addobbuu hè un array of pointers à strings terminati nulinu è deve esse stata rimessa da un puntero NULL . L'altri funziunalu pigghianu l'ambienti per a nova dimora di prucessu da a varià variità indipendente in u prucessu attuale.

Unipo di questi funzioni sò semantica speciali.

E funzioni execlp è execvp duplicate l'azzioni di u cunghjettu à circà per un schedariu esecutivu se u nome di l'archive specifiatu ùn manca un slash (/) caratteru. U percorsu di ricerca hè a strada specifica in l'ambientu da a variazione PATH . Se chistu varianti ùn hè micca specificatu, a strada predica '`: / bin: / usr / bin' 'hè aduprata. Inoltre, certi erruri sò trattati speciali.

In casu chì u dirittu hè statu denegatu per un schedariu (u prucessu execve hà tornatu EACCES ), sti funzioni seguenu cercatu u restu di a strada di ricerca. S'ellu ùn hè micca truvatu nant'à qualsu altru archiu, ma cumu turnaranu cù a errariu globale variale per EACCES .

Se u capu di un schedariu ùn hè micca ricunnisciutu (l' esecutatu eseguitu hà tornatu ENOEXEC ), sti funzioni esecutà l'intarsu cù a strada di u schedariu cum'è a so prima argumentu. (Se stu tentativu falla, ùn sianu più ricuperu à a ricerca).

U ritornu di i currenti Funzii

Se qualchidunu di e funziunalità di u ghjocu retorna, un errore si svilò. U valore ritornu hè -1, è a variable global errno se stende per indicà l'errore.