当前位置: 首页 > 知识库问答 >
问题:

SIGTERM和SIGKILL

乐欣可
2023-03-14

我在跟踪stackoverflow的帖子

我应该以什么顺序向正常关闭进程发送信号?

并遇到了以下声明。请帮助我理解我以粗体标记的部分。[在答案中找到3票]

守护进程有时使用SIGHUP重新启动或重新加载配置的原因是守护进程从任何控制终端分离,因此永远不会接收SIGTERM,因此该信号被视为“释放”供一般使用。

共有1个答案

暴奕
2023-03-14

我想他们一定是这个意思:

守护进程有时使用SIGHUP重新启动或重新加载配置的原因是守护进程从任何控制终端分离,因此将永远不会接收SIGHUP,因此该信号被视为“释放”供一般使用。

也就是说,SIGHUP是一个信号,通常只发送到具有控制终端的进程。由于守护程序没有控制终端,因此它们不会因为正常原因获得SIGHUP。所以他们为另一个目的重新定义它。

但我可能误解了这句话的原作者。我认为你做了正确的事情,要求在对原始答案的评论中进行澄清。在这里作为一个单独的问题发布似乎并不理想...

 类似资料:
  • 我需要运行一个巨大的过程,这将运行10分钟左右。我最大化了< code>max_execution_time,但是在我的错误日志中,我得到了一个SIGTERM,然后是一个SIGKILL。 我读了一些关于SIGTERM和SIGKILL的文章,说它们来自于守护进程,但我没有找到阻止它发生的方法。我只需要禁用它一晚。

  • 问题内容: Java中有没有办法处理收到的SIGTERM? 问题答案: 是的,您可以向注册一个关闭挂钩。

  • 根据pcntl_wait的PHP文档, wait函数暂停当前进程的执行,直到一个子进程退出,或者直到一个信号被发送,该信号的动作是终止当前进程或者调用一个信号处理函数。 但是,当我运行以下代码并使用发送到父进程时,信号处理程序仅在子进程退出后调用(即我必须等待Hibernate完成。不应该被SIGTERM打断吗? 叉子_测试. php: 输出(SIGTERM 仅在等待 30 秒后出现): PHP版

  • 我有一个单线程进程,它不会在终止条件下死亡。处理信号掩码未显示SIGTERM被阻塞。我以root身份执行“kill”。我可以使用SIGKILL终止进程,但这是更大系统的一部分,我希望SIGTERM能够工作。 注意Sig*属性。SigCgt、SigIgn和SigBlk表示SIGTERM既没有被捕获、忽略或阻塞(第15位未设置-将最低有效位计算为#1)。由于SIGTERM的默认配置是终止进程,我希望它

  • 在节点中。在js服务器上,捕获SIGTERM和捕获SIGINT有什么区别吗? 我认为进程不应该能够防止SIGINT关闭? 我是否能够捕获两个信号并阻止退出?我的实验表明答案是肯定的,但从我所读到的内容来看,SIGINT总是假设关闭一个进程。 或者我把SIGINT和SIGKILL混淆了?也许SIGKILL是我无法恢复的信号? 捕捉这些信号当然可以让我优雅地关机: 我想我把SIGINT和SIGKILL

  • SIGCHLD的维基百科页面说: 当子进程退出、被中断或中断后恢复时,SIGCHLD信号被发送给子进程的父进程。 这是否意味着当父进程向子进程发送任何信号(如 )时,它将反过来接收来自子进程的 ? 或者我误解了中断(我假设它是指接收到的任何信号),在这种情况下,哪些信号是相关的?