I am having problems getting pg_ctl to detach from the controlling
terminal so that it's a proper daemon. I am running
pg_ctl start -w -s -l $logfile within a script, which is invoked from an
automated test framework written in python. If the python process is
stopped by Ctrl-C, postgres dies. But the documentation for pg_ctl says
"pg_ctl encapsulates tasks such as redirecting log output and properly
detaching from the terminal and process group" and "if no log file is
chosen, the standard output of pg_ctl should be redirected to a file or
piped to another process such as a log rotating program like rotatelogs;
otherwise postgres will write its output to the controlling terminal
(from the background) and will not leave the shell's process group." I
think I am doing what is necessary here -- you can see that I am
specifying the logfile in the invocation. So why do all the postmaster
processes die when I Ctrl-C the python process? Is there any way to get
insight into what's happening here?
Allan