Provided by: manpages-es_1.55-10_all bug

NOMBRE

       execl, execlp, execle, execv, execvp - ejecutan un fichero

SINOPSIS

       #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[]);

DESCRIPCI'ON

       La familia de funciones exec reemplaza la imagen del proceso  en  curso
       con  una  nueva.  Las funciones descritas en esta pagina del Manual son
       interfaces para la primitiva execve(2).  (Consulte la pagina del Manual
       de  execve  para informacion detallada acerca del reemplazo del proceso
       en curso.)

       El primer argumento de estas funciones es el camino de un  fichero  que
       va a ser ejecutado.

       El  const  char  *arg  y puntos suspensivos siguientes en las funciones
       execl, execlp, y execle pueden ser contemplados como arg0,  arg1,  ...,
       argn.   Todos  juntos,  describen  una  lista  de  uno o mas punteros a
       cadenas de caracteres terminadas en cero, que representan la  lista  de
       argumentos  disponible para el programa ejecutado. El primer argumento,
       por convenio, debe apuntar al nombre de fichero asociado con el fichero
       que  se  este ejecutando. La lista de argumentos debe ser terminada por
       un puntero NULL.

       Las funciones execv y execvp proporcionan  un  vector  de   punteros  a
       cadenas  de  caracteres terminadas en cero, que representan la lista de
       argumentos disponible para el nuevo programa. El primer argumento,  por
       convenio, debe apuntar al nombre de fichero asociado con el fichero que
       se este ejecutando. El vector de punteros debe  ser  terminado  por  un
       puntero NULL.

       La  funcion  execle tambien especifica el entorno del proceso ejecutado
       mediante un parametro adicional que va  detras  del  puntero  NULL  que
       termina  la  lista de argumentos de la lista de parametros o el puntero
       al vector argv. Este parametro adicional es un  vector  de  punteros  a
       cadenas  de  caracteres  acabadas  en  cero y debe ser terminada por un
       puntero NULL.  Las otras funciones obtienen el entorno  para  la  nueva
       imagen  de  proceso  de  la  variable  externa environ en el proceso en
       curso.

       Algunas de estas funciones tienen una semantica especial.

       Las funciones execlp y execvp duplicaran  las  acciones  del  shell  al
       buscar  un  fichero  ejecutable si el nombre de fichero especificado no
       contiene un caracter de barra inclinada (/). El camino de  busqueda  es
       el  especificado  en el entorno por la variable PATH.  Si esta variable
       no   es   especificada,   se   emplea    el    camino    predeterminado
       ``:/bin:/usr/bin''.   Ademas,   ciertos  errores  se  tratan  de  forma
       especial.

       Si a un fichero se le deniega el permiso (la funcion  intentada  execve
       devuelve  EACCES), estas funciones continuaran buscando en el resto del
       camino de busqueda. Si no se encuentra otro fichero, empero, retornaran
       dando el valor EACCES a la variable global errno .

       Si  no  se  reconoce  la  cabecera  de un fichero (la funcion intentada
       execve devuelve ENOEXEC), estas funciones ejecutaran el  shell  con  el
       camino del fichero como su primer argumento. (Si este intento falla, no
       se busca mas.)

VALOR DEVUELTO

       Si cualquiera de las funciones exec regresa,  es  que  ha  ocurrido  un
       error.  El  valor  de  retorno  es -1, y en la variable global errno se
       pondra el codigo de error adecuado.

FICHEROS

       /bin/sh

ERRORES

       Todas estas funciones pueden  fallar  y  dar  un  valor  a  errno  para
       cualquiera de los errores especificados para la funcion execve(2).

V'EASE TAMBI'EN

       sh(1), execve(2), fork(2), environ(5), ptrace(2)

COMPATIBILIDAD

       En  algunos  otros  sistemas,  la ruta por defecto (utilizada cuando el
       entorno no contiene la variable PATH) tiene el  directorio  de  trabajo
       listado  detras  de  /bin  y  /usr/bin, como una medida anti-caballo de
       Troya. Linux utiliza aqui la ruta por defecto con  el  tradicional  "el
       directorio de trabajo, el primero".

       El  comportamiento  de  execlp  y execvp cuando hay errores al intentar
       ejecutar el fichero es una practica de antiguo,  pero  tradicionalmente
       no  ha  sido  documentada  y el estandar POSIX no lo especifica. BSD (y
       quizas otros sistemas) hacen un sleep() automatico  y  un  reintento  a
       continuacion,  si  se encuentra el error ETXTBSY. Linux trata esto como
       un error importante y el regreso de la funcion es inmediato.

       Tradicionalmente, las funciones execlp y execvp hacian  caso  omiso  de
       todos  los  errores  salvo  los  descritos arriba y ENOMEM y E2BIG, que
       provocaban el regreso. Ahora tambien  regresan  si  tiene  lugar  algun
       error distinto de los descritos anteriormente.

CONFORME A

       execl,   execv,   execle,  execlp  y  execvp  son  conformes  con  IEEE
       Std1003.1-88 (``POSIX.1'').