Loosing STDOUT after file rotation
Dan Nelson
dnelson at allantgroup.com
Fri Apr 2 08:18:46 PST 2004
In the last episode (Apr 01), James Housley said:
> 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
> 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.
Run "program_name 2>&1 | logger daemon.notice -t program_name", so
messages go through syslog (/etc/rc.d/bgfsck does this). You can use
programname filtering in syslog.conf to write that output to its own
logfile. There's nothing program_name itself can do about the problem,
since it didn't open the logfile; the shell did.
--
Dan Nelson
dnelson at allantgroup.com
More information about the freebsd-hackers
mailing list