【问题标题】:postgresql bgworker SIGTERM handler called twicepostgresql bgworker SIGTERM 处理程序调用了两次
【发布时间】:2018-08-01 18:20:36
【问题描述】:

我在 Mac 上使用 postgresql 10.1。

我无法使用 SIGTERM 终止后台工作人员。 在我的项目中,我使用 RegisterBackgroundWorker() 创建了一个新的后台工作人员。 我已经包含了一个 test_function,作为 SIGTERM 的信号处理程序。 没有定义其他信号处理程序。

pqsignal(SIGTERM, test_function)

当我发出pkill -15 postgres 时,我看到处理程序被调用了两次。为什么会这样?我错过了什么吗??

【问题讨论】:

    标签: postgresql postgresql-10 sigterm


    【解决方案1】:

    您应该使用 postmaster 的 PID 而不是 postgres,因为这会向所有具有该名称的进程发出 SIGTERM,其中包括您的 BackgroundWorker

    kill postmaster-pid 
    

    会做的。

    【讨论】:

      猜你喜欢
      • 2013-07-16
      • 2012-09-17
      • 2018-10-23
      • 1970-01-01
      • 2019-05-20
      • 2011-08-29
      • 1970-01-01
      • 2010-12-04
      • 1970-01-01
      相关资源
      最近更新 更多