Article View: es.comp.os.linux.programacion
Article #8367Re: Capturar la salida de un programa
From: Lepton
Date: Wed, 13 Nov 2002 08:23
Date: Wed, 13 Nov 2002 08:23
29 lines
1995 bytes
1995 bytes
On Tue, 12 Nov 2002, Francisco wrote:
# Mi intenci�n es hacer un peque�o front-end para controlar el rpm. Por
# tanto, tengo que capturar la salida del rpm para obtener una lista de
# los paquetes instalados, informaci�n sobre estos paquets, ... Y en una
# fase posterior, poder instalar y desinstalar paquetes.
Acabo de ver que existen librerias para el RPM (librpm.a, etc.),
aunque deberias mirar si las tienes.. y sobre todo: como se usan :)
Quiza esto te proporcione una solucion mucho mas robusta que ejecutar
un programa externo e interpretar la salida (ultimamente muy peligroso,
con la 'plaga' de 'locales' que anda suelta por ahi :)
En cualquier caso, popen() va bien para lo que quieres. Tambien lo
que dijo Angel, con dup2().
Algo asi:
FILE *fp = fopen("salida", "w");
if(fork() == 0) {
dup2(fileno(fp), 1);
execl(...);
}
(Lo he escrito asi a ojo, pero esa seria la idea)
Lepton.
Technical Details
Message-ID:
<Pine.LNX.4.44.0211130919240.624-100000@lorien.local>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!fu-berlin.de!uni-berlin.de!a2780.pppool.DE!not-for-mailReferences:
<3DD03990.1090606@ono.com> <aqqmu8$a0v56$1@ID-148170.news.dfncis.de> <mf57a-485.ln1@mithrandir.intranet> <aqrgst$l9c$1@news.unizar.es> <01u7a-vlm.ln1@mithrandir.intranet> <3DD15DF6.8020500@ono.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,c70e8198e9aa783d X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-11-13 00:37:12 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!fu-berlin.de!uni-berlin.de!a2780.pppool.DE!not-for-mail From: Lepton <reinob@jazzfree.com> Newsgroups: es.comp.os.linux.programacion Subject: Re: Capturar la salida de un programa Date: Wed, 13 Nov 2002 09:23:33 +0100 Lines: 30 Message-ID: <Pine.LNX.4.44.0211130919240.624-100000@lorien.local> References: <3DD03990.1090606@ono.com> <aqqmu8$a0v56$1@ID-148170.news.dfncis.de> <mf57a-485.ln1@mithrandir.intranet> <aqrgst$l9c$1@news.unizar.es> <01u7a-vlm.ln1@mithrandir.intranet> <3DD15DF6.8020500@ono.com> NNTP-Posting-Host: a2780.pppool.de (213.6.39.128) Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT X-Trace: fu-berlin.de 1037176631 13913672 213.6.39.128 (16 [130846]) X-Orig-Path: localhost!reinob In-Reply-To: <3DD15DF6.8020500@ono.com>