Es normal que te salga "[Error en el paso de los fitcheros]" porque según tu código se ejecuta siempre esa sentencia para el proceso hijo. Supongo que habrás querido poner:
if (execl("./progs/","./progs/", NULL) == -1)
{
write
(1,"[Error en el paso de los fitcheros]n",strlen("[Error en el paso de los fitcheros]n");}
El codigo no se ejecutaria siempre con la sentencia que copie, puesto que la instruccion execl digamos q mata al proceso q esta ejecutando. Ayudado de esto, puse el write justo después de la instrucción y así tenia la certeza que el texto de error solo salia si las cosas iban malAdemás fíjate que a
execl() no le pasas ningún fichero a ejecutar, sólo un directorio. Además, el segundo parámetro deben ser los argumentos para el ejecutable. Resulta inútil pasarle la misma ruta que en el primer parámetro.
Disculpa, eso es fallo mio. Pegue una versión antigua y mala. Una vez lo he puesto bien sigue sin funcionar. És muy probable que el error esté aquí, alguien sabria como se llama la instruccion execl para el proposito que estoy exponiendo?Fíjate también que no has cerrado la llave del
switch.
Si bueno, eso es pq me deje de copiar la llave final PD: Por cierto, la ruta que especificas suena a ruta de sistema *IX, que no son Windows y cuyos ejecutables no son .exe (de hecho no llevan extensiones).
El operativo es unix y la carpeta la cree yo llenandola de documentos compilados los cuales lo unico q hacen es sacar un texto por pantallaSalud[/quote]
Muchas gracias de todos modos