Commit 12ff9fa7 authored by Bruce Momjian's avatar Bruce Momjian

Have pg_ctl return an exit status of 3 if the server is not running, to

match the Linux Standard Base Core Specification 3.1.

Aaron W. Swenson
parent de1bf53a
......@@ -205,7 +205,8 @@ PostgreSQL documentation
<option>status</option> mode checks whether a server is running in
the specified data directory. If it is, the <acronym>PID</acronym>
and the command line options that were used to invoke it are
displayed.
displayed. If the server is not running, the process returns an
exit status of 3.
</para>
<para>
......
......@@ -1155,9 +1155,11 @@ do_status(void)
pgpid_t pid;
pid = get_pgpid();
if (pid != 0) /* 0 means no pid file */
/* Is there a pid file? */
if (pid != 0)
{
if (pid < 0) /* standalone backend */
/* standalone backend? */
if (pid < 0)
{
pid = -pid;
if (postmaster_is_alive((pid_t) pid))
......@@ -1168,7 +1170,7 @@ do_status(void)
}
}
else
/* postmaster */
/* must be a postmaster */
{
if (postmaster_is_alive((pid_t) pid))
{
......@@ -1186,7 +1188,11 @@ do_status(void)
}
}
printf(_("%s: no server running\n"), progname);
exit(1);
/*
* The Linux Standard Base Core Specification 3.1 says this should return '3'
* http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
*/
exit(3);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment