Theexec skupina funkcí nahrazuje současný obraz procesu novým obrazem procesu. Zde popsané funkce představují přednosti této funkcevykonat(2).
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říkazuNULAukazatel, 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í.)
Návratová hodnota
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.
Důležité: Použijte muž příkaz ( % muž ), abyste zjistili, jak je v daném počítači použit příkaz.
název
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 );