Detaching from controlling terminal
We are using PostgreSQL about two years beginning from version 7.0.
I have one question about starting postmaster:
Is there way to detach it from the controlling terminal under FreeBSD?
My situation: I start postmaster manually:
su pgsql -c "/usr/local/pgsql/bin/pg_ctl
-D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start"
Log:
[1]: LOG: fast shutdown request
[2]: LOG: shutting down
[3]: LOG: database system is shut down
[4]: LOG: next transaction id: 45635; next oid: 32885093
[5]: LOG: database system is ready
and I see:
9655 p1 S+ 0:00,01 /usr/local/pgsql/bin/postmaster (postgres)
9657 p1 S+ 0:00,00 postmaster: stats buffer process (postgres)
9658 p1 S+ 0:00,00 postmaster: stats collector process (postgres)
It is attached to console p1. So when I press Ctrl+C in this console
postmaster writes and exits:
Log:
[1]: LOG: fast shutdown request
[2]: LOG: shutting down
[3]: LOG: database system is shut down
When I reload server postmaster starts without any controlling terminal
and I can press Ctrl+C in any console I want:
178 con- I+ 0:00,16 /usr/local/pgsql/bin/postmaster (postgres)
180 con- I+ 0:00,00 postmaster: stats buffer process (postgres)
181 con- I+ 0:00,00 postmaster: stats collector process (postgres)
So I repeat my question:
Is there way to detach it from the controlling terminal under FreeBSD?
--
Best regards Andrey Feofilactovich.
Andrey Mosienko writes:
We are using PostgreSQL about two years beginning from version 7.0.
I have one question about starting postmaster:
Is there way to detach it from the controlling terminal under FreeBSD?My situation: I start postmaster manually:
su pgsql -c "/usr/local/pgsql/bin/pg_ctl
-D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start"
That should do it. What version are you using?
--
Peter Eisentraut peter_e@gmx.net
Peter Eisentraut wrote:
Andrey Mosienko writes:
We are using PostgreSQL about two years beginning from version 7.0.
I have one question about starting postmaster:
Is there way to detach it from the controlling terminal under FreeBSD?My situation: I start postmaster manually:
su pgsql -c "/usr/local/pgsql/bin/pg_ctl
-D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start"That should do it. What version are you using?
PostgreSQL: 7.0.1 - 7.3.4
FreeBSD: 4.2 - 4.9
--
Best regards Andrey Feofilactovich.
Andrey Mosienko writes:
su pgsql -c "/usr/local/pgsql/bin/pg_ctl
-D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start"That should do it. What version are you using?
PostgreSQL: 7.0.1 - 7.3.4
I'm sure somewhere in between there it didn't work and then it was fixed.
If in doubt, redirect all three file descriptors stdin, stdout, stderr
somewhere (possibly /dev/null), so they're not attached to the terminal.
--
Peter Eisentraut peter_e@gmx.net
Andrey Mosienko wrote:
We are using PostgreSQL about two years beginning from version 7.0.
I have one question about starting postmaster:
Is there way to detach it from the controlling terminal under FreeBSD?My situation: I start postmaster manually:
su pgsql -c "/usr/local/pgsql/bin/pg_ctl
-D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start"
You can either use pg_ctl or nohup. Using pg_ctl is recommended.
Shridhar
Shridhar Daithankar wrote:
Andrey Mosienko wrote:
We are using PostgreSQL about two years beginning from version 7.0.
I have one question about starting postmaster:
Is there way to detach it from the controlling terminal under FreeBSD?My situation: I start postmaster manually:
su pgsql -c "/usr/local/pgsql/bin/pg_ctl
-D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start"You can either use pg_ctl or nohup. Using pg_ctl is recommended.
su pgsql -c "/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start"
^^^^^^^
What is nohup?
--
Best regards Andrey Feofilactovich.
On Tue, 18 Nov 2003, Andrey Mosienko wrote:
What is nohup?
[craig@crucw craig]$ man -k nohup
nohup (1) - run a command immune to hangups, with output to a non-tty
Andrey Mosienko wrote:
Shridhar Daithankar wrote:
Andrey Mosienko wrote:
We are using PostgreSQL about two years beginning from version 7.0.
I have one question about starting postmaster:
Is there way to detach it from the controlling terminal under FreeBSD?My situation: I start postmaster manually:
su pgsql -c "/usr/local/pgsql/bin/pg_ctl
-D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start"You can either use pg_ctl or nohup. Using pg_ctl is recommended.
su pgsql -c "/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start"
^^^^^^^
Damn.. Sorry I missed that. Usually pg_ctl detaches from terminal.
What is nohup?
When you start a job with nohup and put it in background, the job keeps running
even if terminal detaches.
When a terminal closes, a sighup is delivered to all applications started from
that terminal. Nohup just ignores it.
man nohup for more details.
Shridhar
On Tue, 2003-11-18 at 17:52, Shridhar Daithankar wrote:
Andrey Mosienko wrote:
Shridhar Daithankar wrote:
Andrey Mosienko wrote:
We are using PostgreSQL about two years beginning from version 7.0.
I have one question about starting postmaster:
Is there way to detach it from the controlling terminal under FreeBSD?My situation: I start postmaster manually:
su pgsql -c "/usr/local/pgsql/bin/pg_ctl
-D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start"You can either use pg_ctl or nohup. Using pg_ctl is recommended.
su pgsql -c "/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start"
^^^^^^^Damn.. Sorry I missed that. Usually pg_ctl detaches from terminal.
What is nohup?
When you start a job with nohup and put it in background, the job keeps running
even if terminal detaches.When a terminal closes, a sighup is delivered to all applications started from
that terminal. Nohup just ignores it.man nohup for more details.
Shridhar
Be aware that nohup lowers the priority of the process by default - this
can be undesirable for a server...
Stephen