Provided by:
manpages-pl-dev_20060617-3_all 
NAZWA
execl, execlp, execle, execv, execvp - uruchomienie pliku
SK/LADNIA
#include <unistd.h>
extern char **environ;
int execl(const char *path, const char *arg, ...);
int execlp(const char *file, const char *arg, ...);
int execle(const char *path, const char *arg , ..., char * const
envp[]);
int execv(const char *path, char *const argv[]);
int execvp(const char *file, char *const argv[]);
OPIS
Rodzina funkcji exec zastpuje w pamici obraz aktualnego procesu obrazem
nowego procesu. Funkcje opisane na tej stronie man s tylko nakladkami
dla funkcji execve(2). (Dodatkowych informacji na temat nadpisywania
aktualnego procesu szukaj na stronie man tej funkcji.)
Pierwszym argumentem tych funkcji jest cieka do pliku, ktory ma by
uruchomiony.
Kolejne wyraenia const char *arg w funkcjach execl, execlp, i execle
mona traktowa jako arg0, arg1, ..., argn. Razem opisuj one list
jednego lub wicej wskanikow do zakoczonych znakiem NUL lacuchow,
reprezentujcych list argumentow udostpnoianych wykonywanemu programowi.
Pierwszy argument, zgodnie z konwencj, powinien wskazywa na nazw pliku
powizan z wykonywanym plikiem. Lista argumentow musi by zakoczona
wskanikiem NULL.
Funkcje execv oraz execvp udostpniaj tablic wskanikow do zakoczonych
znakami NUL lacuchow, ktore reprezentuj list argumentow dostpnych dla
wykonywanego programu. Pierwszy argument, zgodnie z konwencj, powinien
wskazywa na nazw pliku powizan z wykonywanym plikiem. Tablica wskanikow
musi by zakoczona wskanikiem NULL.
Funkcja execle dodatkowo okrela rodowisko wykonywanego procesu poprzez
dodanie po wskaniku NULL, koczcym list argumentow w licie parametrow
lub po tablicy argv dodatkowego argumentu. Tym dodatkowym argumentem
jest tablica wskanikow do zakoczonych znakami NUL lacuchow, ktora to
tablica musi by zakoczona wskanikiem NULL. Pozostale funkcje pobieraj
rodowisko dla nowego procesu z zewntrznej zmiennej environ aktualnego
procesu.
Niektore z tych funkcji maj specyficzn semantyk.
Funkcje execlp oraz execvp wykonuj zadania powloki szukajc pliku
wykonywalnego, jeli nazwa pliku nie zawiera znaku ukonika (/). cieka
przeszukiwania to cieka podana w zmiennej rodowiskowej PATH. Jeli
zmienna ta nie istnieje, przyjmowana jest domylna cieka
``:/bin:/usr/bin''. Dodatkowo pewne bldy traktowane s odmiennie.
Jeli dostp do pliku zostal zabroniony (wywolanie execve zwrocilo
EACCES), funkcje te bd przeszukiwa reszt cieki. Jeli jednak nie odnajd
innego pliku, powroc i zmieni warto zmiennej globalnej errno na EACCES.
Jeli naglowek nie zostanie rozpoznany (wywolanie execve zwroci
ENOEXEC), funkcje te sprobuj uruchomi powlok ze ciek do pliku jako
pierwszym argumentem. (Jeli i ta proba si nie powiedzie, przeszukiwanie
jest zakoczone.)
WARTO ZWRACANA
Jeli dowolna z funkcji exec powroci, oznacza to e nastpil bld. Zwracana
jest warto -1 i ustawiana jest zmienna globalna errno aby wskaza bld.
PLIKI
/bin/sh
B/LDY
Kada z tych funkcji moe zakoczy si niepowodzeniem i ustawi jako warto
errno dowolny bld okrelony dla funkcji bibliotecznej execve(2).
ZOBACZ TAKE
sh(1), execve(2), fork(2), environ(5), ptrace(2)
KOMPATYBILNO
W niektorych systemach domylna cieka (uywana, gdy rodowisko nie zawiera
zmiennej PATH) zawiera aktualny katalog na samym kocu listy, po /bin
oraz /usr/bin, aby zapobiec koniom trojaskim. Linux korzysta tu z
tradycyjnej domylnej cieki z aktualnym katalogiem na pocztku.
Zachowanie execlp oraz execvp w przypadku wystpienia bldow podczas
uruchamiania pliku jest przyjte jako tradycyjne, ale nie jest
udokumentowane przez standard POSIX. BSD (a by moe take inne systemy)
po napotkaniu bldu ETXTBSY czeka przez chwil i probuje ponownie. Linux
traktuje to jako bld i powraca natychmiast.
Tradycyjnie, funkcje execlp oraz execvp ignorowaly wszystkie bldy
oprocz podanych powyej, ENOMEM i E2BIG, po ktorych powracaly. Obecnie
powracaj jeli wystpi dowolny bld inny od opisanych powyej.
ZGODNE Z
Funkcje execl, execv, execle, execlp oraz execvp s zgodne ze standardem
IEEE Std1003.1-88 (`POSIX.1'').
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.