Thread: problem with kill script

problem with kill script

From
julien
Date:
Hello,

I'm posted a short modification of the kill command.

The INSTALL file mention the command "kill `cat
/usr/local/pgsql/data/postmaster.pid`" but the pid file contain the pid
but not only, it also contain data directory and some numbers (memory
usage ?, database characteristic ?)

So when I run the above kill command I get :

pcbu-testiris:/etc/rc6.d# /etc/init.d/postgres stop
Stopping database server: PostgreSQL/etc/init.d/postgres: line 11: kill:
/usr/local/pgsql/data: no such pid
/etc/init.d/postgres: line 11: kill: (5432001) - Aucun processus de ce type
/etc/init.d/postgres: line 11: kill: (9076763) - Aucun processus de ce type
.

So I add a "head -1" to the command :

kill `cat /usr/local/pgsql/data/postmaster.pid | head -1`

Julien

Re: problem with kill script

From
Tom Lane
Date:
julien <julien@nura.no-ip.com> writes:
> The INSTALL file mention the command "kill `cat
> /usr/local/pgsql/data/postmaster.pid`" but the pid file contain the pid
> but not only, it also contain data directory and some numbers (memory
> usage ?, database characteristic ?)

Hm, I wonder why this documentation isn't recommending "pg_ctl stop"
instead.  runtime.sgml gets it right:

<screen>
$ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput>
</screen>

but the text in installation.sgml seems much older.

            regards, tom lane

Re: problem with kill script

From
Bruce Momjian
Date:
Tom Lane wrote:
> julien <julien@nura.no-ip.com> writes:
> > The INSTALL file mention the command "kill `cat
> > /usr/local/pgsql/data/postmaster.pid`" but the pid file contain the pid
> > but not only, it also contain data directory and some numbers (memory
> > usage ?, database characteristic ?)
>
> Hm, I wonder why this documentation isn't recommending "pg_ctl stop"
> instead.  runtime.sgml gets it right:
>
> <screen>
> $ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput>
> </screen>
>
> but the text in installation.sgml seems much older.

The kill mention was below an item mentioning pg_ctl.  The paragraph was
in there for very old releases of PostgreSQL, pre-7.0.  I have removed
it with this patch.

--
  Bruce Momjian   http://candle.pha.pa.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: doc/src/sgml/installation.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v
retrieving revision 1.252
diff -c -c -r1.252 installation.sgml
*** doc/src/sgml/installation.sgml    5 Jan 2006 03:01:32 -0000    1.252
--- doc/src/sgml/installation.sgml    18 Apr 2006 20:43:22 -0000
***************
*** 440,458 ****
  </screen>
       works.
      </para>
-
-     <para>
-      Very old versions might not have <application>pg_ctl</>.  If you
-      can't find it or it doesn't work, find out the process ID of the
-      old server, for example by typing
- <screen>
- <userinput>ps ax | grep postmaster</userinput>
- </screen>
-      and signal it to stop this way:
- <screen>
- <userinput>kill -INT <replaceable>processID</></userinput>
- </screen>
-     </para>
     </step>

     <step>
--- 440,445 ----