> 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