The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

Go Back   Die UNIX-und Linux-Foren > Top Foren > High-Level-Programmierung
.
Google unix.com



High-Level-Programmierung Post Fragen zu C, C + +, Java, SQL, und andere Programmiersprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Frage zu grep, geschnitten, und Rohrleitungen dyrt Shell Programmierung und Scripting 1 02-28-2008 11:12 PM
Rohrleitungen für die Ex von einem Skript mph Shell Programmierung und Scripting 2 10-11-2007 04:54 PM
Rohrleitungen in UNIX simo007 UNIX for Dummies Questions & Answers 3 05-23-2007 03:40 AM
Rohrleitungen lnatz Shell Programmierung und Scripting 1 07-14-2006 03:30 AM
Hilfe (Piping ls, tr, cut) Scan Shell Programmierung und Scripting 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 Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 04-25-2008
mtobin1987 mtobin1987 is offline
Registrierte Nutzer
  
 

Join Date: Apr 2008
Beiträge: 2
Piping Frage

Ich habe eine Frage, Rohrleitungen, ich bin versucht zu implementieren Rohrleitungen auf meine eigene Schale, und ich bin mit einigen Schwierigkeiten esentially ... Ich versuche, etwas zu tun Kommando | Kommando | Kommando.
Ich kann es funktionieren, wenn die letzte Pfeife, Befehl ist nicht gespalten, sondern führt in der Schale und dann beendet .. aber ich muss es bis zum Verbraucher. I tryed die folgenden, aber es hängt .. irgendwelche Vorschläge? Ich habe das Gefühl, es hat etwas damit zu tun mit der Schließung / Eröffnung Deskriptoren, aber ich weiß nicht ... danke.:
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);
                		}
                		
                	}
      	  }

Zuletzt bearbeitet von Yogesh Sawant; am 04-25-2008 04:33 AM.. Grund: Code-Tags hinzugefügt
 

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 08:27 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0