Skip to main content

Minden a Linux / Unix parancsról: execvp

Linux Exec System Call (Június 2026)

Linux Exec System Call (Június 2026)
Anonim

Aexec a funkciók családja új folyamatképet cserél az aktuális folyamatképre. Az itt leírt funkciók a függvény elejeiexecve(2).

Ezeknek a függvényeknek az első argumentuma egy végrehajtható fájl elérési útvonala.

A const char * arg és az azt követő ellipszisek aexecl, execlp, ésexecle a funkciókat úgy lehet gondolni, mint arg0 értéket adja , arg1 , …, argn . Együtt írnak egy vagy több mutatót a null-terminált karakterláncokra, amelyek a végrehajtott program számára rendelkezésre álló argumentumlistát reprezentálják. Az első érv, konvenció szerint, meg kell mutatnia a végrehajtandó fájlhoz társított fájlnevet. Az érvek listája kell le kell zárni aNULLA mutató.

Aexecv ésexecvp a függvények olyan mutatókat tartalmaznak, amelyek az új program számára rendelkezésre álló argumentumlistát jelentő null terminált sztringeket tartalmaznak. Az első érv, konvenció szerint, meg kell mutatnia a végrehajtandó fájlhoz társított fájlnevet. A mutatók tömbje kell le kell zárni aNULLA mutató.

Aexecle függvény is meghatározza a végrehajtott folyamat környezetét aNULLAmutató, amely kiegészíti a paraméterlista argumentumainak listáját vagy a mutatót az argv tömbhöz egy további paraméterrel. Ez a kiegészítő paraméter a mutatók null terminált karakterláncainak és kell le kell zárni aNULLA mutató. A többi függvény a külső változóról új folyamatképet veszi figyelembe környe a jelenlegi folyamatban.

Néhány ilyen funkció speciális szemantikával rendelkezik.

A funkciókexeclp ésexecvp ha a megadott fájlnév nem tartalmaz slash (/) karaktert, megkísérli megkísérelni a végrehajtható fájl keresését. A keresési útvonal a környezetben megadott elérési útPÁLYA változó. Ha ez a változó nincs megadva, akkor az alapértelmezett elérési útvonalat: / bin: / usr / bin. Ezenkívül bizonyos hibákat speciálisan kezelnek.

Ha egy fájl megtagadása engedélyezett (a kísérletexecve visszaEACCES), ezek a funkciók továbbra is keresik a keresési útvonal többi részét. Ha nem talál más fájlt, akkor visszatér a globális változóval errno állítvaEACCES.

Ha a fájl fejlécét nem ismeri fel (a kísérletexecve visszaENOEXEC), ezek a függvények az első argumentumként végrehajtják a shell-t a fájl elérési útjával. (Ha ez a kísérlet meghiúsul, további keresés nem történik meg.)

Visszatérési érték

Ha bármelyikexec funkciók visszatérnek, hiba lépett fel. A visszatérési érték -1, és a globális változó errno a hibát jelzi.

Fontos: Használja a Férfi parancs ( % Férfi ), hogy lássa, hogyan használják a parancsot az adott számítógépen.

Név

execl, execlp, execle, execv, execvp - fájl végrehajtása

Szinopszis

#include

extern char ** környezet;

int execl (const char * pálya , const char * arg , …); int execlp (const char * fájl , const char * arg , …); int execle (const char * pálya , const char * arg , …, char * const envp ); int execv (const char * pálya , char * const argv ); int execvp (const char * fájl , char * const argv );