Skip to main content

Execl - příkaz Linux - příkaz Unix

PROČ NEMÁŠ HOLKU (Červen 2026)

PROČ NEMÁŠ HOLKU (Červen 2026)
Anonim

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 );

Popis

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). 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, aexeclefunkce 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čeno 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í.)

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.