Tag: sigterm

如何处理SIGTERM

Java中有处理收到的SIGTERM的方法吗?

Apache服务器不断崩溃,“被捕获的SIGTERM,closures”

这刚刚发生了三个星期前。 我的网站的内容没有改变,只是一个phpBB论坛使用MySQL作为后端。 一年来没有任何改变,但最近,每两天左右,服务器closures,根本无法访问,我必须通知我的服务提供商物理重启机器。 这似乎与我在日志中发现的这些SIGTERM错误有关。 问题是我不知道如何解决这些问题或find根本原因,因为我在这个领域的技能缺乏。 任何人有任何想法可能会发生什么? Apache / 2.2.3(CentOS) 20051115 Linux 2.6.18-028stab057.4#1 SMP Fri Aug 1 10:47:59 MSD 2008 x86_64 从错误日志:[Sun Nov 01 15:18:53 2009] [notice]抓到了SIGTERM,关机 不完全确定这是什么原因导致我的问题,但它听起来不是一件好事。 如果需要,我可以发布更多的日志信息 [摘要]摘要:为摘要身份validation生成密码… [Sun Nov 01 05:07:17 2009] [notice]摘要:完成 [Sun Nov 01 05:07:19 2009] [notice] mod_python:根据10个最大进程和0个最大线程创build4个会话互斥量。 [Sun Nov 01 05:07:19 2009] [警告] RSA服务器证书CommonName(CN)`plesk'与服务器名称不匹配! [Sun Nov 01 05:07:19 2009] [警告] […]

是否有可能以“延迟”方式捕获Ctrl + C信号并运行清理function?

我想捕获从控制台发送的Ctrl + C ( SIGINT )信号,并打印出部分运行总数。 Golang可能吗? 注意:当我第一次发布这个问题时,我很困惑Ctrl + C是SIGTERM而不是SIGINT 。

如何正确处理SIGTERM信号?

假设我们有这样一个用python编写的简单的守护进程: def mainloop(): while True: # 1. do # 2. some # 3. important # 4. job # 5. sleep mainloop() 我们使用start-stop-daemon ,默认情况下,它会在-stop上发送SIGTERM ( TERM )信号。 假设当前执行的步骤是#2 。 在这个时刻,我们发送TERM信号。 发生什么事是执行立即终止。 我发现我可以使用signal.signal(signal.SIGTERM, handler)处理信号事件signal.signal(signal.SIGTERM, handler)但是它仍然会中断当前的执行并将控制权交给handler 。 所以,我的问题是 – 是否有可能不中断当前的执行,但在单独的线程(?)处理TERM信号,以便我能够设置shutdown_flag = True以便mainloop()有机会优雅地停止?