我正在通过SIGTERM
向我的服务器发送信号start-stop-daemon
。正如预期的那样,服务器在收到信号时关闭。现在我想在收到后将服务器暂停 10 秒SIGTERM
,然后将其关闭。为了实现这一点,我写了
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 正在处理信号,因此默认处理程序也与我的处理程序一起被调用。知道需要做什么吗?