Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Apr 2004 18:59:46 +0200
From:      Daniel Lang <langd-freebsd-hackers@leo.org>
To:        James Housley <jim@thehousleys.net>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Loosing STDOUT after file rotation
Message-ID:  <20040402165946.GA29273@atrbg11.informatik.tu-muenchen.de>
In-Reply-To: <406C8F4F.1040306@Thehousleys.net>
References:  <406C8F4F.1040306@Thehousleys.net>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Dear Jim,

James Housley wrote on Thu, Apr 01, 2004 at 04:53:19PM -0500:
> I have a program that I have the is supposed to run forever.  I log any 
> output to a log file.  It is run in a startup script like thie:
> 
> program_name >> $err_log 2>&1
> 
> The problem is that after newsyslog rotates the $err_log file, no more 
> data is written to the file.  I can not stop and restart the program.  I 

You mean no date is written to the new file? I bet data is 
still pouring into the old file, which is probably just renamed
after rotation.

The reason is simple. Once you start your program, you open a
filehandle to your error_log file. This handle stays valid until 
the file is closed (e.g. when the progress dies). Just renaming
the file does not invalidate the filehandle. And of course there is
no magic which closes this filehandle and opens the new file.

> can accept a signal.  But what do I need to do in "program_name" to allow 
> the data to be written after the "rotation" of the file.

Don't log to STDOUT/STDERR. Open the file inside of your program.
Install a signal handler (e.g. catching SIGHUP), which closes
the file and reopens it, be sure to update your references
to the filehandle (which may change of course).

Hope this helps,
 Daniel
-- 
IRCnet: Mr-Spock
     - kommst du siehst du, gehst du hast du, weisst du, krass! -
Daniel Lang * dl@leo.org * +49 89 289 18532 * http://www.leo.org/~dl/

[-- Attachment #2 --]
0	*H
q0m10	+0	*H
@00{0
	*H
010	UDE10UMuenchen1)0'U
 Technische Universitaet Muenchen1"0 UFakultaet fuer Informatik10URBG-Benutzer-CA10	*H
	ca@in.tum.de0
030520123142Z
040521000000Z010	UDE10UMuenchen1)0'U
 Technische Universitaet Muenchen1"0 UFakultaet fuer Informatik10UDaniel Lang1$0"	*H
	daniel.lang@in.tum.de00
	*H
0U]݅.7p)Wqz\cE:#h400_i6$}PIa1^'dnDU;01'v<d{B[t1N0{0U00Urzoo	oyݡ0U#05:0mǟKqH(cԡ010	UDE10UMuenchen1)0'U
 Technische Universitaet Muenchen1"0 UFakultaet fuer Informatik10
URBG-CA10	*H
	ca@in.tum.de0U0U%0++0U0langd@in.tum.dedaniel.lang@in.tum.delangd@informatik.tu-muenchen.de%daniel.lang@informatik.tu-muenchen.delangd@cs.tum.edudaniel.lang@cs.tum.edu
dl@leo.org0	U008U10/0-+)'http://ca.in.tum.de/crls/userca_crl.crl0	`HB0	`HB
Dieses Zertifikat wurde ausgestellt fuer Daniel Lang von der RBG-Benutzer-CA, Fakultaet fuer Informatik der Technischen Universitaet Muenchen.06	`HB)'http://ca.in.tum.de/cgi-bin/userca-rev?02	`HB%#http://ca.in.tum.de/cgi-bin/ca-rev?06	`HB)'http://ca.in.tum.de/policies/rbgca.html0
	*H
yC9zOzoѯӹ]0 5->l̆MmdW0E	$1]d%d1>qJ/NOV|#zvTư)%+#
 -KS2 	25ܺ3O7qOj2JgpL]ެ5EaSta[Fc7廞(	B
+wsUbi;8'YQeN nk$X®WMq&qlCT0(00
	*H
010	UDE10UMuenchen1)0'U
 Technische Universitaet Muenchen1"0 UFakultaet fuer Informatik10
URBG-CA10	*H
	ca@in.tum.de0
021009164103Z
040521000000Z010	UDE10UMuenchen1)0'U
 Technische Universitaet Muenchen1"0 UFakultaet fuer Informatik10U
RBG-Server-CA10	*H
	ca@in.tum.de0"0
	*H
0
 \l ~svLV I`Ɩ|;iT_|zw(r_$h?ajzMY	gGlC9X_/2&>H?]:NOBU^5]])P`L.!q`y6Z<o=la<TeבîT6,/~#(K=Uj9pw"`%Ab wjc~0Ab^o'7зh0d0U00U{EPT]C+@0U#0e~MA?*{}]010	UDE10UMuenchen1)0'U
 Technische Universitaet Muenchen1"0 UFakultaet fuer Informatik10
URBG-CA10	*H
	ca@in.tum.de0U0U%0
+04U-0+0)'%#http://ca.in.tum.de/crls/ca_crl.crl0	`HB0	`HB
wuZertifikat fuer RBG-Server-CA ausgestellt von RBG-CA, Fakultaet fuer Informatik der Technischen Universitaet Muenchen02	`HB%#http://ca.in.tum.de/cgi-bin/ca-rev?0<	`HB/-http://ca.in.tum.de/policies/servercapol.html0
	*H
ʝBof(HT:aB/)j-Ínݟӗ5@IŶҧ㭬
?c
~	PYy#`|2X(&q~N:@uámgtA@*=<'fzvm{ғ0dXWsx)yC9,Ns%%îd-$`ES1b:,{Mw^SKlANMf2d]%8)FQ>ֵ^&^?Ž_"Y{& t2px#߲Vm&6D o	t,1tmʫ_bKm$_W1dCj笞V63`Őj>_p~/%9 %ʬ4Jo~kA^GXX.֙BdmX*Ye%}zI/נ'-k%0@0(0
	*H
010	UDE10UMuenchen1)0'U
 Technische Universitaet Muenchen1"0 UFakultaet fuer Informatik10
URBG-CA10	*H
	ca@in.tum.de0
021009170352Z
040521000000Z010	UDE10UMuenchen1)0'U
 Technische Universitaet Muenchen1"0 UFakultaet fuer Informatik10URBG-Benutzer-CA10	*H
	ca@in.tum.de0"0
	*H
0
arq:*弘)yPv9ow/r#U2u*zоOKh	aWf% ిƜ;~l|%A0gڧQwg	$xX.1e.zFdEZ7,Gq9{@]8laT#kQ""6p#:܅`)ɌB(iӭzڱU[.Wn{ABh]x}~0z0U00U5:0mǟKqH(c0U#0e~MA?*{}]010	UDE10UMuenchen1)0'U
 Technische Universitaet Muenchen1"0 UFakultaet fuer Informatik10
URBG-CA10	*H
	ca@in.tum.de0U0U%0++04U-0+0)'%#http://ca.in.tum.de/crls/ca_crl.crl0	U00	`HB0	`HB
zxZertifikat fuer RBG-Benutzer-CA, ausgestellt von RBG-CA, Fakultaet fuer Informatik der Technischen Universitaet Muenchen02	`HB%#http://ca.in.tum.de/cgi-bin/ca-rev?0:	`HB-+http://ca.in.tum.de/policies/usercapol.html0
	*H
MėN^[-z|*dt[BN,yƑjP&(]/]I
]+Ab~gEⷃs?RW>:bu	˖qA`K.3mWԯ	;kGrnX]j83Ǔ2e>Gզ^
gMi7-F=Eր熮;\qx7ǖ.rHٓ@A:c>A0&/T,*@_z>;&VPtdaE;įjMS<4#ʜ"SþN|.U >]tݠbq7:Hޫ,MP:Nև8V4(FD9 EmHyuVoX&#SQW`}ɱ<9uψu笔lG=>I"-B4a|x2y_k7?pVw>j&@Y\7100010	UDE10UMuenchen1)0'U
 Technische Universitaet Muenchen1"0 UFakultaet fuer Informatik10URBG-Benutzer-CA10	*H
	ca@in.tum.de{0	+0	*H
	1	*H
0	*H
	1
040402165946Z0#	*H
	1|gf=X/7+k0R	*H
	1E0C0
*H
0*H
0
*H
@0+0
*H
(0
	*H
r t8#/^<ůԐz@<̝t</?osԇl78J,sdĈ,g	,J,;sk\u70cugV3#&9/H[

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040402165946.GA29273>