Provided by: manpages-pl-dev_20060617-3_all bug

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.