Article View: es.comp.os.linux.programacion
Article #15655Re: Tuberias en linux
From: David Martínez
Date: Mon, 12 Jun 2000 00:00
Date: Mon, 12 Jun 2000 00:00
35 lines
1647 bytes
1647 bytes
Hola Jordi!
Mira la p�gina del manual de popen es quiz�s la forma m�s sencilla.
Si lo quieres hacer a mano tendr�as que hacer algo como esto (esto
simula un ls | more).
int pfds[2];
pipe(pfds);
if (!fork()) {
close(1); // cerramos la stdout normal
dup(pfds[1]); // hacemos que stdout sea el lo mismo que
pfds[1] */
close(pfds[0]); // no necesitamos el extremo de lectura del
pipe
execlp("ls", "ls", NULL);
} else {
close(0); // cerramos la stdin normal
dup(pfds[0]); // hacemos que stdin sea lo mismo que
pfds[0]
close(pfds[1]); // no necesitamos el extremo de escritura en
el proceso hijo
execlp("more", "more", NULL);
}
En las p�ginas del man puedes encontrar informaci�n sobre todas estas
llamadas al sistema. M�ra sobre todo la de fork, la parte en la que
describe los elementos que hereda el proceso hijo y dup, la parte en la
que se dice como se selecciona el descriptor de fichero que se duplica.
Espero que te sea �til
Saludos
Technical Details
Message-ID:
<3944E2F7.B7338D2A@NOSPAM.inicia.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<8ht67l$lfq$1@talia.mad.ttd.net>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,6f6b5e370e2c231 X-Google-Attributes: gidf86c8,public From: David Martínez <dmartin@NOSPAM.inicia.es> Subject: Re: Tuberias en linux Date: 2000/06/12 Message-ID: <3944E2F7.B7338D2A@NOSPAM.inicia.es> X-Deja-AN: 633559235 Content-Transfer-Encoding: 8bit References: <8ht67l$lfq$1@talia.mad.ttd.net> X-Accept-Language: en Content-Type: text/plain; charset=iso-8859-1 Organization: PROEL PSIC Mime-Version: 1.0 Newsgroups: es.comp.os.linux.programacion