Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       execl, execlp, execle, execv, execvp, execvpe - Executer un fichier

SYNOPSIS

       #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[]);
       int execvpe(const char *file, char *const argv[],
        char *const envp[]);

   Exigences  de  macros  de  test de fonctionnalites pour la glibc (consultez
   feature_test_macros(7)) :

       execvpe() : _GNU_SOURCE

DESCRIPTION

       La famille des fonctions exec() remplace l'image du processus en  cours
       par  une nouvelle image du processus. Les fonctions decrites dans cette
       page sont en realite des frontaux pour execve(2) (consultez la page  de
       manuel de execve(2) pour plus de details sur le remplacement de l'image
       du processus en cours).

       L'argument initial de toutes ces fonctions est  le  chemin  d'acces  du
       fichier a executer.

       Les  arguments  const  char *arg ainsi que les points de suspension des
       fonctions execl(), execlp(), et execle() peuvent etre vues comme  arg0,
       arg1,  ...,  argn.  Ensemble, ils decrivent une liste d'un ou plusieurs
       pointeurs sur des chaines de caracteres terminees  par  des  caracteres
       nuls,  qui  constituent  les  arguments disponibles pour le programme a
       executer. Par convention, le premier argument doit pointer sur  le  nom
       du fichier associe au programme a executer. La liste des arguments doit
       se terminer par un pointeur NULL, et  puisque  ce  sont  des  fonctions
       variadiques, ce pointeur doit etre transtype avec (char *) NULL.

       Les  fonctions  execv(),  execvp() et execvpe() utilisent un tableau de
       pointeurs sur des chaines de caracteres terminees  par  des  caracteres
       nuls,  qui  constituent  les  arguments disponibles pour le programme a
       executer. Par convention, le premier argument doit pointer sur  le  nom
       du  fichier  associe  au  programme a executer. Le tableau de pointeurs
       doit se terminer par un pointeur NULL.

       Les fonctions execle() et execvpe() permettent a l'appelant  d'indiquer
       l'environnement  du  processus  a  executer  via  le parametre envp. Ce
       parametre est un tableau de pointeurs sur  des  chaines  de  caracteres
       terminees par des caracteres nuls, qui doit se terminer par un pointeur
       NULL.  Les  autres   fonctions   fournissent   au   nouveau   processus
       l'environnement  constitue par la variable externe environ du processus
       appelant.

   S'emantique particuli`ere pour execlp() et execvp()
       Les fonctions execlp(), execvp() et execvpe() dupliqueront les  actions
       de  l'interpreteur de commandes dans la recherche du fichier executable
       si le nom fourni ne contient pas de barre oblique << / >>.  Le  fichier
       est   recherche   dans   la  liste  de  repertoires,  separes  par  des
       deux-points, specifiee dans la variable d'environnement PATH. Si  cette
       variable  n'est  pas  definie,  le chemin par defaut sera le repertoire
       actuel,   suivi   de   la   liste   des   repertoires   renvoyee    par
       confstr(_CS_PATH)   (cet  appel  a  confstr(3)  renvoie  habituellement
       << /bin:/usr/bin: >>).

       Si le nom du fichier indique inclut une barre oblique, alors  PATH  est
       ignore et le fichier dont le chemin est fourni est execute.

       De plus, certaines erreurs sont traitees de maniere specifique.

       Si  l'acces  au  fichier  est  refuse  (execve(2)  renvoie EACCES), ces
       fonctions continueront a parcourir le reste du chemin de recherche.  Si
       aucun  fichier  n'est trouve, elles reviendront, et errno sera defini a
       EACCES.

       Si  l'en-tete  d'un  fichier  n'est  pas  reconnu  (execve(2)   renvoie
       ENOEXEC),  ces  fonctions  executeront  un  interpreteur  de  commandes
       (/bin/sh) avec le  chemin  d'acces  au  fichier  en  tant  que  premier
       argument.   Si  ceci  echoue,  aucune  recherche  supplementaire  n'est
       effectuee.

VALEUR RENVOY'EE

       Une sortie des fonctions exec() n'intervient que si  une  erreur  s'est
       produite.  La  valeur  de  retour  est  -1,  et  errno contient le code
       d'erreur.

ERREURS

       Toutes ces fonctions peuvent  echouer  et  definir  errno  a  n'importe
       quelle erreur decrite dans execve(2).

VERSIONS

       La fonction execvpe() a ete introduite dans la glibc 2.11.

CONFORMIT'E

       POSIX.1-2001, POSIX.1-2008.

       La fonction execvpe() est une extension GNU.

NOTES

       Sur  certains  systemes,  le chemin de recherche par defaut (employe si
       l'environnement  ne  contient  pas  la  variable  PATH)   contient   le
       repertoire  courant  a  la suite de /bin et /usr/bin, afin d'eviter les
       chevaux de Troie. Linux utilise encore le repertoire courant en premier
       dans ce chemin de recherche par defaut.

       Le  comportement  de  execlp() et execvp() lorsqu'une erreur se produit
       pendant l'execution d'un programme est une pratique historique mais n'a
       traditionnellement  jamais  ete documente, ni specifie dans le standard
       POSIX. Lorsque  ETXTBSY  est  rencontre,  BSD  (et  peut-etre  d'autres
       systemes)  endorment  le  processus  appelant puis reitere l'operation.
       Linux considere cette situation comme  une  erreur  grave,  et  revient
       immediatement.

       Habituellement,  les  fonctions  execlp() et execvp() ignoraient toutes
       les erreurs sauf celles decrites ci-dessus, ENOMEM et E2BIG. Desormais,
       elles  reviennent  a  l'appelant  si  une autre erreur que celles-ci se
       produit.

VOIR AUSSI

       sh(1), execve(2), fork(2), ptrace(2), fexecve(3), environ(7)

COLOPHON

       Cette page fait partie de  la  publication  3.32  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone        au        sein        du       projet       perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe Blaess  <URL:http://www.blaess.fr/christophe/>  (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/> (2003-2006).  Florentin
       Duneau et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez  signaler  toute  erreur   de   traduction   en   ecrivant   a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.