Bribles Asked: 2009-07-07 13:16:44 +0800 CST2009-07-07 13:16:44 +0800 CST 2009-07-07 13:16:44 +0800 CST PostgreSQL 进程及其响应的信号 772 对于 PostgreSQL 8.3 及更高版本,构成服务器并响应查询的进程是什么? 各种过程对什么信号作出反应,这些信号有什么作用? 应该或不应该发送哪些信号以及何时应该或不应该使用它们的指导方针是什么? linux process postgresql kill signals 2 个回答 Voted Best Answer Evan Anderson 2009-07-07T13:28:06+08:002009-07-07T13:28:06+08:00 旧版本的 Postgres 使用信号来处理更多事情。我在这里写的是新发布的 8.4,它也适用于 8.3。如果您正在寻找有关旧版本的信息,请相应地更新您的问题。 Postgres 8.3 的“postmaster”将在收到信号 SIGTERM、SIGINT 和 SIGQUIT 时终止。像任何进程一样,您可以使用 SIGKILL 杀死它,但这会导致不干净的关闭并可能损坏数据库,因此应避免使用它。您也不应该在 postmaster 进程中拍摄 SIGQUIT,因为这可能会被子 postmaster 进程解释为崩溃。不过,您确实应该使用 pg_ctl 来启动/停止 postmaster。 SIGHUP 导致 postmaster 重新读取其配置文件(这在许多 Unix 风格的应用程序中很常见)。如果您希望它们全部重新读取其配置文件,则必须对每个正在运行的 postmaster 进程进行 SIGHUP。 有关更多详细信息,请参阅http://www.postgresql.org/docs/8.4/static/app-postgres.html。 mage2k 2009-07-08T11:13:05+08:002009-07-08T11:13:05+08:00 检查 postgres 服务器应用程序章节中任何版本的手册中的“注释”部分。这是 8.3.x 的链接:http ://www.postgresql.org/docs/8.3/interactive/app-postgres.html
旧版本的 Postgres 使用信号来处理更多事情。我在这里写的是新发布的 8.4,它也适用于 8.3。如果您正在寻找有关旧版本的信息,请相应地更新您的问题。
Postgres 8.3 的“postmaster”将在收到信号 SIGTERM、SIGINT 和 SIGQUIT 时终止。像任何进程一样,您可以使用 SIGKILL 杀死它,但这会导致不干净的关闭并可能损坏数据库,因此应避免使用它。您也不应该在 postmaster 进程中拍摄 SIGQUIT,因为这可能会被子 postmaster 进程解释为崩溃。不过,您确实应该使用 pg_ctl 来启动/停止 postmaster。
SIGHUP 导致 postmaster 重新读取其配置文件(这在许多 Unix 风格的应用程序中很常见)。如果您希望它们全部重新读取其配置文件,则必须对每个正在运行的 postmaster 进程进行 SIGHUP。
有关更多详细信息,请参阅http://www.postgresql.org/docs/8.4/static/app-postgres.html。
检查 postgres 服务器应用程序章节中任何版本的手册中的“注释”部分。这是 8.3.x 的链接:http ://www.postgresql.org/docs/8.3/interactive/app-postgres.html