The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > High Level Programmering
.
google unix.com



High Level Programmering Post spørsmål om C, C + +, Java, SQL og andre programmeringsspråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Spørsmålet om grep, klipping, og rør dyrt Shell programmering og Skripting 1 02-28-2008 11:12
Piping til ex fra et skript mph Shell programmering og Skripting 2 10-11-2007 04:54
Piping i UNIX simo007 UNIX for Dummies Spørsmål og svar 3 05-23-2007 03:40
rør lnatz Shell programmering og Skripting 1 07-14-2006 03:30
Hjelp (Piping ls, tr, klipp) skanne Shell programmering og Skripting 2 02-11-2006 08:40

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 04-25-2008
mtobin1987 mtobin1987 is offline
Registrert bruker
  
 

Bli Dato: april 2008
Innlegg: 2
Piping Spørsmål

Jeg har et rør spørsmål, jeg prøver å implementere rør på min egen skallet og har litt problemer ... esentially Jeg prøver å gjøre noe å gjøre kommandoen | kommandoen | kommandoen.
Jeg kan få det til å fungere bra hvis det siste pipe kommandoen er ikke Forked, men utfører i skallet og deretter avsluttes .. men jeg trenger den til gaffel. Jeg tryed følgende, men det vil henge .. noen forslag? Jeg har en følelse det har noe å gjøre med å stenge / åpne beskrivere men jeg vet ikke ... takk.:

Code:
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);
                		}
                		
                	}
      	  }


Sist endret av Yogesh Sawant; 04-25-2008 på 04:33.. Årsak: lagt til kode tags
 

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 03:46.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0