The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de Alto Nivel
.
google unix.com



Programación de Alto Nivel Plantear preguntas acerca de C, C + +, Java, SQL, y otros lenguajes de programación aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
pregunta acerca de grep, cortar y tuberías dyrt Programación de scripts de shell y 1 02-28-2008 11:12 PM
De tuberías al antiguo a partir de un guión mph Programación de scripts de shell y 2 10-11-2007 04:54 PM
De tuberías en UNIX simo007 UNIX for Dummies Preguntas y Respuestas 3 05-23-2007 03:40 AM
de tuberías lnatz Programación de scripts de shell y 1 07-14-2006 03:30 AM
Ayuda (LS tuberías, tr, corte) exploración Programación de scripts de shell y 2 02-11-2006 08:40 AM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 04-25-2008
mtobin1987 mtobin1987 is offline
Usuario Registrado
  
 

Fecha: abril 2008
Publicaciones: 2
Cuestión de tuberías

Tengo una pregunta tuberías, estoy tratando de aplicar las tuberías en mi concha y estoy teniendo algunos problemas ... esencialmente estoy tratando de hacer algo que ver comando | comando | comando.
No puedo lograr que funcione bien si el último comando de la tubería no es ahorquillado, pero se ejecuta en el depósito y sale .. pero necesito a un tenedor. I tryed el siguiente, pero se cuelgan .. alguna sugerencia? Tengo la sensación de que tiene algo que ver con el cierre / apertura descriptores pero no sé ... gracias.:

Código:
int pipe1[2], pipe2[2];

        pipe(pipe1);//create first pipe
		pid_t PID=fork();
        if(PID==0){
                close(1);
                dup(pipe1[1]);
                close(pipe1[0]);
                close(pipe1[1]);
               	execvp(*argv,argv);
                printf("operation failed");

        } else {
                
                pipe(pipe2);
				pid_t PID2=fork();
                if (PID2==0) {
                        close(0);
                        dup(pipe1[0]);
                        close(1);
                        dup(pipe2[1]);
                        close(pipe1[0]);
                        close(pipe1[1]);
                        close(pipe2[0]);
                        close(pipe2[1]);
                        execvp(*argv2, argv2);
                } else {
                		pid_t PID3=fork();
   				waitpid(PID3,&status,0);<-----Not sure about this
                		if(PID3==0){
                        close(0);
                        dup(pipe2[0]);
                        close(pipe1[0]);
                        close(pipe1[1]);
                        close(pipe2[0]);
                        close(pipe2[1]);
                        execvp(*argv3, argv3);
                		}
                		
                	}
      	  }


Última edición por Yogesh Sawant; al 04-25-2008 04:33 AM.. Motivo: añadido etiquetas de código
 

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 02:31 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0