> This app spews data on STDOUT while running.  I want to run this app
as
> a daemon (continuously running in background) and I want to save the
> stdout data to a logfile.  In fact, I am doing this now and everything
> is OK:
>
> $DAEMON >>$LOG 2>&1 &
>
> Except, when _savelog_ rotates the logfile, the application writes to
> the first archive, rather than the file with original logfile label:
>
> -rw-r----- 1 root adm     0 Jul 9 05:07 logfile
> -rw-r----- 1 root adm 17943 Jul 9 14:17 logfile.0
>
> After savelog rotates the logfile, $DAEMON is writing to logfile.0,
> instead of logfile.  Obviously, this is not acceptable ;<
>
> I assume that this has something to do with the original redirected
> output keeping logfile open, even during the rename to logfile.0

Correct...the file-handle used to log the daemon's output doesn't "go
bad" just because another process renamed the file.

> is there a workaround?

Yes...you have to get your process to close the log-file and re-open it
(so it starts writing to logfile, rather than logfile.0).  Since it
sounds like you're doing the logging at the shell level, you'll probably
just want to effectively do a "restart"...this can be handled using the
savelog scripts by providing a command to execute after rotating the
logs (ie: svi mydaemon restart).

Charles Steinkuehler
http://lrp.steinkuehler.net
http://c0wz.steinkuehler.net (lrp.c0wz.com mirror)



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Stuff, things, and much much more.
http://thinkgeek.com/sf
------------------------------------------------------------------------
leaf-user mailing list: [EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-user
SR FAQ: http://leaf-project.org/pub/doc/docmanager/docid_1891.html

Reply via email to