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