Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Execlp ignoring non-option arguments

Estas en el tema de Execlp ignoring non-option arguments en el foro de C/C++ en Foros del Web. Hola buen dia a todos, me han pedido hacer un programa que haga con la familia "exec" una linea de comandos en un S.O. (Ubuntu), ...
  #1 (permalink)  
Antiguo 08/05/2012, 22:26
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
Pregunta Execlp ignoring non-option arguments

Hola buen dia a todos, me han pedido hacer un programa que haga con la familia "exec" una linea de comandos en un S.O. (Ubuntu), esta es la linea de comandos:

Cita:
pwd
ls $HOME
echo Bateria ejecutada satisfactoriamente
Esto debe ser ejecutado con execlp y mi código es el siguiente:

Código C:
Ver original
  1. #include<stdio.h>
  2. main(int argc, char **argv){
  3. execlp("pwd", "ls -lh", "$HOME", "echo Bateria ejecutada satisfactoriamente", (char *)0);
  4. perror(argv [0]);
  5. }


A lo cual, al compilar y ejecutar el programa, la Terminal de Ubuntu me da de resulado esto:

Cita:
ls -lh: ignoring non-option arguments
Ya he tratado un sin fin de combinaciones con el execlp pero me dice ese error, ya use solamente "ls" pero dice lo mismo, solo que sin el "-lh"

Cita:
ls: ignoring non-option arguments
ese código es forzoso y a fuerza debo usar execlp, las preguntas son:

¿por que no funciona?, ¿hay manera de que funcione?, ¿que estoy haciendo mal?

Gracias por su atencion.
__________________
Si todas las URL's que tienes o visitas te parecen largas, visita www.korto.tk - También protege de rastros y con contraseñas tus páginas o URL's.
  #2 (permalink)  
Antiguo 08/05/2012, 23:27
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: Execlp ignoring non-option arguments

Hola! no me acuerdo bien el uso de esa funcion, pero proba con esto:
Código C:
Ver original
  1. execlp("pwd","pwd","ls","-lh","$HOME", "echo Bateria ejecutada satisfactoriamente", (char *)0);
De todos formas no estoy seguro de que pueda ejecutar todos esos comandos, sino me equivoco solo puede ejecutar uno con sus parametros, ejemplo:
Código C:
Ver original
  1. execlp ("ls","ls","-l","/usr",0);
No te olvides de agregar el header unistd.h

Saludos
  #3 (permalink)  
Antiguo 15/05/2012, 10:42
Avatar de kuriel  
Fecha de Ingreso: febrero-2009
Mensajes: 240
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Execlp ignoring non-option arguments

Gracias amigo lo voy a probar.
__________________
Si todas las URL's que tienes o visitas te parecen largas, visita www.korto.tk - También protege de rastros y con contraseñas tus páginas o URL's.
  #4 (permalink)  
Antiguo 15/05/2012, 20:42
Avatar de sancas19  
Fecha de Ingreso: noviembre-2011
Ubicación: Soyapango, El Salvador
Mensajes: 18
Antigüedad: 12 años, 5 meses
Puntos: 2
Respuesta: Execlp ignoring non-option arguments

ponlo todo junto
execlp("pwd", "ls -lh $HOME", "echo Bateria ejecutada satisfactoriamente", (char *)0);
creo q deberia funcionar asi
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:54.