【发布时间】:2016-04-13 02:14:46
【问题描述】:
我正在通过start-stop-daemon 向我的服务器发送SIGTERM 信号。正如预期的那样,服务器在收到信号时关闭。现在我想在收到SIGTERM 后将服务器暂停 10 秒,然后将其关闭。为了实现这一点,我写了
def sigterm_handler(signum):
time.sleep(10)
sys.exit(0)
Class server(object):
.
.
def __call__()
signal.signal(signal.SIGTERM, sigterm_handler)
#some code
.
.
现在服务器在收到信号后不会等待 10 秒。一旦发送信号,它就会关闭(在记录器中检查)。
此外,以下消息在我的终端上会暂停 10 秒。
* Stopping Server:
我认为我的代码无法告诉 python 正在处理信号,因此默认处理程序也与我的处理程序一起被调用。知道需要做什么吗?
【问题讨论】: