postgresql bgworker SIGTERM 处理程序调用了两次
postgresql bgworker SIGTERM handler called twice
我在 Mac.
上使用 postgresql 10.1
我在使用 SIGTERM 终止后台工作程序时遇到了问题。
在我的项目中,我正在使用 RegisterBackgroundWorker(). 创建一个新的后台工作者
我包含了一个 test_function 作为 SIGTERM 的信号处理程序。
没有定义其他信号处理程序。
pqsignal(SIGTERM, test_function)
当我发出 pkill -15 postgres
时,我看到处理程序被调用了两次。为什么会这样?我错过了什么吗??
您应该使用 postmaster 的 PID 而不是 postgres,因为这将向所有具有该名称的进程发出 SIGTERM,其中包括您的 BackgroundWorker
kill postmaster-pid
会的。
我在 Mac.
上使用 postgresql 10.1我在使用 SIGTERM 终止后台工作程序时遇到了问题。 在我的项目中,我正在使用 RegisterBackgroundWorker(). 创建一个新的后台工作者 我包含了一个 test_function 作为 SIGTERM 的信号处理程序。 没有定义其他信号处理程序。
pqsignal(SIGTERM, test_function)
当我发出 pkill -15 postgres
时,我看到处理程序被调用了两次。为什么会这样?我错过了什么吗??
您应该使用 postmaster 的 PID 而不是 postgres,因为这将向所有具有该名称的进程发出 SIGTERM,其中包括您的 BackgroundWorker
kill postmaster-pid
会的。