Provided by: manpages-fr-dev_2.64.1-1_all bug

NOM

       execl, execlp, execle, execv, execvp - Exécuter 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[]);

DESCRIPTION

       La  famille des fonctions exec() remplace l’image du processus en cours
       par une nouvelle image du processus. Les fonctions décrites dans  cette
       page  sont  en réalité des frontaux de l’appel système execve(2) (voyez
       la page de manuel de execve(2) pour des informations détaillées sur  le
       remplacement du processus en cours).

       L’argument  initial  de  toutes  ces fonctions est le chemin d’accès du
       fichier à exécuter.

       Les arguments const char *arg ainsi que les points  de  suspension  des
       fonctions  execl(), execlp(), et execle() peuvent être vues comme arg0,
       arg1, ..., argn. Ensemble, ils décrivent une liste  d’un  ou  plusieurs
       pointeurs  sur  des  chaînes de caractères terminées par des caractères
       nuls, qui constituent les arguments disponibles  pour  le  programme  à
       exécuter.  Par  convention, le premier argument doit pointer sur le nom
       du fichier associé au programme à exécuter. La liste des arguments doit
       se  terminer  par  un  pointeur  NULL, et puisque ce sont des fonctions
       variadiques, ce pointeur doit être transtypé avec (char *) NULL.

       Les fonctions execv() et execvp() utilisent un tableau de pointeurs sur
       des  chaînes  de  caractères  terminées  par  des  caractères nuls, qui
       constituent les arguments disponibles pour le programme à exécuter. Par
       convention,  le  premier  argument  doit  pointer sur le nom du fichier
       associé au programme à  exécuter.  Le  tableau  de  pointeurs  doit  se
       terminer par un pointeur NULL.

       La   fonction  execle()  peut  également  indiquer  l’environnement  du
       processus à exécuter en faisant suivre le pointeur NULL qui termine  la
       liste  d’arguments,  ou  le  pointeur  du tableau argv par un paramètre
       supplémentaire. Ce paramètre additionnel est un  tableau  de  pointeurs
       sur  des  chaînes  de caractères terminées par des caractères nuls, qui
       doit se terminer par un pointeur NULL. Les autres fonctions fournissent
       au  nouveau processus l’environnement constitué par la variable externe
       environ.

   Sémantique particulière pour execlp() et execvp()
       Les  fonctions  execlp()  et  execvp()  dupliqueront  les  actions   de
       l’interpréteur  de commandes dans la recherche du fichier exécutable si
       le nom fourni ne contient pas de barre  oblique  « / ».  Le  chemin  de
       recherche  est spécifié dans la variable d’environnement PATH. Si cette
       variable   n’est   pas   définie,   le   chemin   par    défaut    sera
       « /bin:/usr/bin: ». De plus, certaines erreurs sont traitées de manière
       spécifique.

       Si l’accès au  fichier  est  refusé  (execve(2)  renvoie  EACCES),  ces
       fonctions  continueront à parcourir le reste du chemin de recherche. Si
       aucun fichier n’est trouvé, elles reviendront, et errno sera  défini  à
       EACCES.

       Si   l’en-tête  d’un  fichier  n’est  pas  reconnu  (execve(2)  renvoie
       ENOEXEC), ces fonctions exécuteront un interpréteur de  commandes  avec
       le  chemin  d’accès  au  fichier  en tant que premier argument. Si ceci
       échoue, aucune recherche supplémentaire n’est effectuée.

VALEUR RENVOYÉE

       Si l’une des fonctions exec revient, c’est qu’une erreur a eu lieu.  La
       valeur de retour est -1, et errno contient le code d’erreur.

ERREURS

       Toutes  ces  fonctions  peuvent  échouer et définir errno sur n’importe
       quelle erreur décrite dans la fonction execve(2).

CONFORMITÉ À

       POSIX.1-2001.

NOTES

       Sur certains systèmes, le chemin de recherche par  défaut  (employé  si
       l’environnement   ne   contient  pas  la  variable  PATH)  contient  le
       répertoire courant à la suite de /bin et /usr/bin,  afin  d’éviter  les
       chevaux de Troie. Linux utilise encore le répertoire courant en premier
       dans ce chemin de recherche par défaut.

       The behavior  of  execlp()   and  execvp()   when  errors  occur  while
       attempting  to  execute  the  file  is  historic  practice, but has not
       traditionally been  documented  and  is  not  specified  by  the  POSIX
       standard.   BSD  (and possibly other systems) do an automatic sleep and
       retry if ETXTBSY is encountered.  Linux treats it as a hard  error  and
       returns immediately.

       Habituellement,  les  fonctions  execlp() et execvp() ignoraient toutes
       les erreurs sauf celles décrites ci-dessus, ENOMEM et E2BIG. Désormais,
       elles  reviennent  à  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)

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

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

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».