Obsah
exec rodina funkcií nahrádza aktuálny procesný obraz novým procesným obrazom. Funkcie tu popísané sú predné časti funkcieexecve(2).
Počiatočným argumentom pre tieto funkcie je cesta k súboru, ktorý sa má vykonať.
const char * arg a následné elipsy vexecl, execlpaexecle funkcie možno považovať zaarg0, arg1, ..., argN, Spoločne opisujú zoznam jedného alebo viacerých ukazovateľov na nulové reťazce, ktoré predstavujú zoznam argumentov dostupných pre vykonávaný program. Prvý argument by podľa konvencie mal odkazovať na názov súboru spojený s vykonávaným súborom. Zoznam argumentovmusieť byť ukončená aNULOVÝ ukazovateľ.
execv aexecvp Funkcie poskytujú pole ukazovateľov na nulové reťazce, ktoré predstavujú zoznam argumentov dostupných pre nový program. Prvý argument by podľa konvencie mal odkazovať na názov súboru spojený s vykonávaným súborom. Pole ukazovateľovmusieť byť ukončená aNULOVÝ ukazovateľ.
execle Funkcia tiež špecifikuje prostredie vykonaného procesu podľaNULOVÝUkazovateľ, ktorý ukončí zoznam argumentov v zozname parametrov alebo ukazovateľ na pole argv s ďalším parametrom. Tento dodatočný parameter je pole ukazovateľov na nulové reťazce a reťazcemusieť byť ukončená aNULOVÝ ukazovateľ. Ostatné funkcie vezmú prostredie pre nový procesný obraz z externej premennejobklopiť v súčasnom procese.
Niektoré z týchto funkcií majú špeciálnu sémantiku.
Funkcieexeclp aexecvp bude duplikovať akcie shellu pri hľadaní spustiteľného súboru, ak zadaný názov súboru neobsahuje znak lomky (/). Vyhľadávacia cesta je cesta špecifikovaná v prostredí pomocouPATH variabilné. Ak táto premenná nie je zadaná, použije sa predvolená cesta `: / bin: / usr / bin ''. Niektoré chyby sa navyše riešia osobitne.
Ak je súbor zamietnutý (pokus o pokus)execve vrátenýEACCES), tieto funkcie budú pokračovať vo vyhľadávaní zvyšku vyhľadávacej cesty. Ak sa však nenájde žiadny iný súbor, vrátia sa s globálnou premennouerrno nastavený naEACCES.
Ak sa záhlavie súboru nerozpozná (pokus o pokus)execve vrátenýENOEXEC), tieto funkcie vykonajú shell ako cestu k súboru ako svoj prvý argument. (Ak tento pokus zlyhá, ďalšie vyhľadávanie sa neuskutoční.)
Návratová hodnota
Ak niektorý zexec Ak sa funkcia vráti, vyskytne sa chyba. Vrátená hodnota je -1 a globálna premennáerrno bude nastavená tak, aby indikovala chybu.
Použimuž príkaz (% muž), aby ste videli, ako sa príkaz používa na konkrétnom počítači.
názov
spustiť, spustiť, spustiť, spustiť, spustiť - spustiť súbor
synopse
#include extern char ** environment; int execl (const char *cesta, const char *arg, ...); int execlp (const char *súbor, const char *arg, ...); int execle (const char *)cesta, const char *arg , ..., char * constenvp[]); int execv (const char *cesta, char * constargv[]); int execvp (const char *súbor, char * constargv[]);