如何使用upstart定义不同的停止/重启信号

Modified on: Thu, 03 Oct 2019 22:20:02 +0800

我开始将所有系统转换为使用upstart来管理我们的各种应用程序进程。我经常遗漏的一件事是能够在stoprestart事件中向进程发送不同的信号。

例如,我们使用Unicorn运行我们的网络流程。 Unicorn拥有出色的信号处理API。当我想优雅地重新加载进程时,我向主pid发送一个USR2信号。为了优雅地关闭它们,我发送了一个QUIT命令。 TERM(upstart的默认停止信号)构成立即关闭。

另一个例子是使用Resque。为了优雅地关闭工人,我发送了QUIT信号。无论工人的孩子是否分叉,TERM信号再次导致立即关闭。

upstart是否支持自定义信号?我似乎无法在任何地方找到它,这让我担心我正在使用“错误的工具”。

最佳答案

Ubuntu 10.04附带upstart版本0.6.6,其中包含kill signal参数,用于配置相关的信号和超时值。 “重载”信号被硬编码到SIGHUP

较新版本的upstart会引入reload signal参数 - 有关详细信息,请参阅此问题的其他答案。

作者:,the-wabbit

相关问答

添加新评论