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

ls|more& en C/C++

Estas en el tema de ls|more& en C/C++ en el foro de C/C++ en Foros del Web. Buenas, estoy haciendo un programa que haga el ls|more& osea que haga el comando ese pero en segundo plano o background. He estado mirando por ...
  #1 (permalink)  
Antiguo 13/12/2009, 11:39
 
Fecha de Ingreso: noviembre-2009
Mensajes: 13
Antigüedad: 14 años, 5 meses
Puntos: 0
ls|more& en C/C++

Buenas, estoy haciendo un programa que haga el ls|more& osea que haga el comando ese pero en segundo plano o background. He estado mirando por la web y en otras web y lo unico que he encontrado es lo como hacer demonios en linux o algo asi....pero no consigo hacerlo.
De momento tengo el codigo para hacer el comando ls| more, pero no consigo hacerlo en segundo plano... Pego el codigo y a ver si alguien me puede hechar un cable.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <unistd.h>
  5. #include <signal.h>
  6. #include <fcntl.h>
  7. #include <errno.h>
  8. #include <errno.h>
  9. void error(char *m)
  10. {
  11.       /* Escribe los errores por el canal estándar de errores (2) */
  12.       write(2, m, strlen(m));
  13.       write(2, "\n", 1);
  14.       write(2, strerror(errno), strlen(strerror(errno)));
  15.       exit(1);
  16. }
  17. main()
  18. {
  19.       int p[2];
  20.       int st1, st2;
  21.       /* Se crea una pipe y se reciben los dos canales: */
  22.       /* el de lectura y el de escritura (p[0] y p[1]) */
  23.       if (pipe(p) < 0) error("Creación pipe");
  24.       switch (fork())
  25.       {
  26.  
  27.             case -1: error("Fork 1");
  28.             case 0: /* Hijo 1 - Redirecciona, cierra y ejecuta */
  29.                   /* Redirecciona salida estándar hacia la pipe */
  30.                   close(1); dup(p[1]);
  31.                   /* Cierra los canales de la pipe que no utiliza */
  32.                   close(p[0]); close(p[1]);
  33.                   /* Carga el código de ls con dos parámetreos */
  34.                   execlp("ls","ls", (char *)0);
  35.                   error("Ejecución ls ");
  36.             default: /* Proceso padre */
  37.                   break;
  38.       }
  39.          switch (fork())
  40.          {
  41.                   case -1: error("Fork 2");
  42.                   case 0: /* Hijo 2 - Redirecciona, cierra y ejecuta */
  43.                           /* Redirecciona entrada estándar hacia la pipe */
  44.                           close(0); dup(p[0]);
  45.                           /* Cierra los canales de la pipe que no utiliza */
  46.                           close(p[0]); close(p[1]);
  47.                           /* Carga el código de grep con un parámetro */
  48.                           execlp("more", "more", (char *)0);
  49.                           error("Ejecución grep");
  50.                   default: /* Proceso padre */
  51.                           break;
  52.          }
  53.          /* El padre cierra los canales que no utiliza */
  54.          close(p[0]); close(p[1]);
  55.          /* Espera que acaben los dos hijos */
  56.          wait(&st1);
  57.          wait(&st2);
  58.          /* Finaliza su ejecución */
  59.          exit(0);
  60. }

lo podeis probar...funciona perfectamente.....ahora solo falta que funcione en segundo plano -_--''
  #2 (permalink)  
Antiguo 13/12/2009, 15:13
 
Fecha de Ingreso: noviembre-2009
Mensajes: 13
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ls|more& en C/C++

nadie puede ayudarme ?:(
  #3 (permalink)  
Antiguo 13/12/2009, 17:16
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 8 meses
Puntos: 13
Respuesta: ls|more& en C/C++

Y por que no ocultas la ventana
  #4 (permalink)  
Antiguo 13/12/2009, 17:29
 
Fecha de Ingreso: noviembre-2009
Mensajes: 13
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ls|more& en C/C++

Cita:
Iniciado por mhax Ver Mensaje
Y por que no ocultas la ventana
WTF? O_o....
  #5 (permalink)  
Antiguo 13/12/2009, 17:35
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 8 meses
Puntos: 13
Respuesta: ls|more& en C/C++

no te sirve?
no se entiende lo que quieres, te puedes explicar mejor?
  #6 (permalink)  
Antiguo 14/12/2009, 05:14
 
Fecha de Ingreso: noviembre-2009
Mensajes: 13
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ls|more& en C/C++

Cita:
Iniciado por mhax Ver Mensaje
no te sirve?
no se entiende lo que quieres, te puedes explicar mejor?
Pues necesito hacer un programa C equivalente a la funcion ls|more&, de momento me ha salido que funcione solo la funcion ls|more, pero no consigo que funcione en segundo plano.
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 21:25.