execl, execlp, execle, execv, execvp - spuštění souboru
Synopse
#zahrnout
externí char ** prostředí;
int execl (const char * cesta , const char * arg , …); int execlp (const char * soubor , const char * arg , …); int execle (const char * cesta , const char * arg , …, char * const envp ); int execv (const char * cesta , char * const argv ); int execvp (const char * soubor , char * const argv ); Theexec skupina funkcí nahrazuje současný obraz procesu novým obrazem procesu. Funkce popsané v této příručce jsou přední částí funkcevykonat(2). (Viz manuálová stránka provykonat podrobné informace o nahrazení aktuálního procesu.) Počátečním argumentem pro tyto funkce je cesta k souboru, který má být proveden. The const char * arg a následné elipsy vexecl, execlp, aexecle funkce lze považovat za arg0 , arg1 , …, argn . Společně popisují seznam jednoho nebo více ukazatelů na řetězce s nulovými konci, které představují seznam argumentů dostupného pro spuštěný program. První argument podle konvence by měl odkazovat na název souboru přidružený k spuštěnému souboru. Seznam argumentů musí být ukončen aNULA ukazatel. Theexecv aexecvp funkce poskytují pole ukazatelů na null-terminated řetězce, které představují seznam argumentů k dispozici nového programu. První argument podle konvence by měl odkazovat na název souboru přidružený k spuštěnému souboru. Pole ukazatelů musí být ukončen aNULA ukazatel. Theexecle funkce také specifikuje prostředí provedeného procesu pomocí příkazuNULA ukazatel, který ukončí seznam argumentů v seznamu parametrů nebo ukazatel na pole argv s dalším parametrem. Tento dodatečný parametr je pole ukazatelů na řetězce ukončené null a musí být ukončen aNULA ukazatel. Ostatní funkce berou prostředí pro nový procesový obrázek z externí proměnné environ v současném procesu. Některé z těchto funkcí mají speciální sémantiku. Funkceexeclp aexecvp bude duplikovat akce shellu při hledání spustitelného souboru, pokud zadaný název souboru neobsahuje znak lomítka (/). Vyhledávací cesta je cesta zadaná v prostředí pomocí příkazuCESTA proměnná. Není-li tato proměnná zadána, použije se výchozí cesta ``: / bin: / usr / bin ''. Kromě toho se s některými chybami zachází speciálně. Pokud je pro soubor odepřen oprávnění (pokus o pokusvykonat vrátilEACCES), tyto funkce budou pokračovat v hledání ve zbývající části vyhledávací cesty. Pokud však není nalezen žádný jiný soubor, vrátí se s globální proměnnou errno nastaven naEACCES. Není-li záhlaví souboru rozpoznán (pokus o pokusvykonat vrátilENOEXEC), tyto funkce spustí shell jako cestu k souboru jako první argument. (Pokud tento pokus selže, není provedeno žádné další vyhledávání.) Pokud některý z nichexec funkce se vrátí, dojde k chybě. Hodnota návratu je -1 a globální proměnná errno bude nastaven tak, aby indikoval chybu. Popis funkcí exec
Návratová hodnota funkcí exec




