Article View: es.comp.os.linux.programacion
Article #1982Re: Redireccionando stderr
From: Eduardo Villanueva
Date: Tue, 24 May 2005 07:24
Date: Tue, 24 May 2005 07:24
36 lines
2360 bytes
2360 bytes
Mat�as Costa wrote:
> David Lago wrote:
>
>
>>Nada... esto tampoco funcion�. Parece que popen y el shell debajo
>>utilizan no stderr sino el fd#2 que tiene abierto la aplicaci�n.
>>�Alguien sabe c�mo se redirige el fd#2 que crea el propio programa al
>>ejecutarse, y que heredan los invocados por �l? Por supuesto sin
>>utilizar 2>/dev/null en la llamada, todo dentro del propio programa.
>>
>>Gracias,
>>David.
>
>
> int devnull=open("/dev/null");
> int old2=dup(2);
> dup2(devnull, 2);
>
> Puede que funcione �?
Puede, pero la forma "correcta" es usar freopen.
Del man:
FILE *freopen( const char *camino, const char *modo, FILE *flujo);
La funci�n freopen abre el fichero cuyo nombre es la cadena apuntada por
camino y asocia el flujo apuntado por flujo con �l.
El flujo original (si existe) se cierra.
El argumento modo se emplea igual que en la funci�n fopen. El uso
principal de la funci�n freopen es cambiar el fichero asociado con un
flujo de texto est�ndar (stderr, stdin, o stdout).
Un saludo,
Edu.
Technical Details
Message-ID:
<d6uddl$the$1@peque.uv.es>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!feed.news.tiscali.de!newsfeed01.sul.t-online.de!newsfeed00.sul.t-online.de!t-online.de!irazu.switch.ch!switch.ch!newsserver.news.garr.it!news.rediris.es!news.uv.es!not-for-mailReferences:
<d6crgc$4j53@cesio.mundo-r.com> <d6cu17$4jj4@cesio.mundo-r.com> <d6cujj$4jj7@cesio.mundo-r.com> <npPie.40815$dr.24253@news.ono.com>Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,1e9cda547f52621 X-Google-Attributes: gidf86c8,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!feed.news.tiscali.de!newsfeed01.sul.t-online.de!newsfeed00.sul.t-online.de!t-online.de!irazu.switch.ch!switch.ch!newsserver.news.garr.it!news.rediris.es!news.uv.es!not-for-mail From: Eduardo Villanueva <eviche@alumni.uv.es> Newsgroups: es.comp.os.linux.programacion Subject: Re: Redireccionando stderr Date: Tue, 24 May 2005 09:24:47 +0200 Organization: Universitat de Valencia Lines: 36 Distribution: es Message-ID: <d6uddl$the$1@peque.uv.es> References: <d6crgc$4j53@cesio.mundo-r.com> <d6cu17$4jj4@cesio.mundo-r.com> <d6cujj$4jj7@cesio.mundo-r.com> <npPie.40815$dr.24253@news.ono.com> NNTP-Posting-Host: noc4.wks.veloxia.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit X-Trace: peque.uv.es 1116911861 30254 213.149.224.37 (24 May 2005 05:17:41 GMT) X-Complaints-To: newsmanager@uv.es NNTP-Posting-Date: Tue, 24 May 2005 05:17:41 +0000 (UTC) User-Agent: Debian Thunderbird 1.0.2 (X11/20050331) X-Accept-Language: en-us, en In-Reply-To: <npPie.40815$dr.24253@news.ono.com>