🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #11

Re: controlar un programa desde otro

#11
From: Claudio S.
Date: Wed, 02 Oct 2002 20:44
38 lines
2616 bytes
El Wed, 2 Oct 2002 17:40:01 +0200, Lepton <reinob@jazzfree.com> escribi�:
> 
> [ Lo envio tambien a es.comp.hackers, ya que la idea ha
>   originado alli (el servidor udp), y quiza alguien de
>   alli tambien pueda ayudar :) ]
> 
> Hola,
> 
> Para un programilla que estoy haciendo, necesito ejecutar un
> programa (concretamente un shell /bin/sh), de forma que su
> stdin sea un pipe creado por mi, y lo mismo con su stdout (por
> ahora ignoraremos el stderr..)
> 
> Mi idea era la siguiente:
> 
> Usando pipe() genero un par de descriptores (in[0] e in[1]), de
> forma que yo leo de in[0] lo que el programa escribe en in[1].
> 
> De igual forma, con otro pipe() hago out[0] y out[1] de forma que
> lo que yo escribo en out[1] lo lee el programa en out[0].
> 
> Por tanto, tengo que conseguir que despues del fork() pero antes
> del exec() el stdin (descriptor 0) sea el mismo que out[0], y
> vice-versa, que el stdout (descriptor 1) sea el mismo que in[1].
> 
> Luego yo le envio caracteres al shell escribiendo en out[1], y
> leo lo que genera el shell de in[0].
> 
> El problema es que no se como hacer que stdin se asocie a otro
> descriptor, y lo mismo con stdout.

dup

(mensaje corto como el que m�s: solo tres letras y lo contesta todo).


Un saludo.
--claudio--
Technical Details
Message-ID: <slrnapmmki.ece.claudio@nntp.tralari.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!194.25.134.62!newsfeed00.sul.t-online.de!t-online.de!newsfeed.freenet.de!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmrro2-lo.nuria.telefonica-data.net!127.0.0.1!nobody
References: <Pine.LNX.4.44.0210021725480.3140-100000@lorien.local>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f4463,f557a5b44ea0d9c4
X-Google-Attributes: gidf4463,public
X-Google-Thread: f86c8,f557a5b44ea0d9c4
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-10-03 12:53:54 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!194.25.134.62!newsfeed00.sul.t-online.de!t-online.de!newsfeed.freenet.de!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmrro2-lo.nuria.telefonica-data.net!127.0.0.1!nobody
From: "Claudio S." <claudio@ningun.sitio.es>
Newsgroups: es.comp.os.linux.programacion,es.comp.hackers
Subject: Re: controlar un programa desde otro
Date: Wed, 2 Oct 2002 22:44:02 +0200
Organization: Telefonica Data Espagna
Lines: 39
Message-ID: <slrnapmmki.ece.claudio@nntp.tralari.com>
References: <Pine.LNX.4.44.0210021725480.3140-100000@lorien.local>
NNTP-Posting-Host: 139.red-80-59-173.pooles.rima-tde.net
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: nsnmrro2-gest.nuria.telefonica-data.net 1033674831 10600 80.59.173.139 (3 Oct 2002 19:53:51 GMT)
X-Complaints-To: usenet@nsnmrro2-gest.nuria.telefonica-data.net
NNTP-Posting-Date: Thu, 3 Oct 2002 19:53:51 +0000 (UTC)
User-Agent: slrn/0.9.7.4 (Linux)