Provided by:
manpages-es_1.55-10_all 
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'').