On Fri, 26 Mar 2004, Matthew T. O'Connor wrote: > Bruno Wolff III wrote: > > >On Thu, Mar 25, 2004 at 16:08:49 +0100, > > Martin Pitt <[EMAIL PROTECTED]> wrote: > > > > > >>A while ago we received the bug report below against pg_autovacuum. > >>Since it runs as a daemon, it should detach from its controlling > >>terminal by executing sth like > >> > >> int nullfd = open("/dev/null", O_RDWR); > >> dup2(nullfd, 0); > >> dup2(nullfd, 1); > >> dup2(nullfd, 2); > >> if (nullfd != 0 && nullfd != 1 && nullfd != 2) > >> close(nullfd); > >> > >>(taken from syslog-ng which does it properly). > >> > >> > > > >That doesn't look like a good idea. This will prevent any logging to > >stdout or stderr. > > > >If you don't want that ability you can redirect the stdin, stdout and > >stderr yourself. > > > > I have stayed quiet about this since I wanted to hear what others > thought of the above suggest fix. I took the detach code straight from > the postmaster daemonize function. Perhaps I didn't do something right
The postmaster's seems to have a section that does a null device open, dup2s and a close at the end of pmdaemonize in the 7.4 and 7.5 versions on my box: i = open(NULL_DEV, O_RDWR | PG_BINARY); dup2(i, 0); dup2(i, 1); dup2(i, 2); close(i); ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]