Article View: es.comp.os.linux.programacion
Article #11Re: controlar un programa desde otro
From: Claudio S.
Date: Wed, 02 Oct 2002 20:44
Date: Wed, 02 Oct 2002 20:44
38 lines
2616 bytes
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!nobodyReferences:
<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)