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


8

我开始将所有系统转换为使用新贵来管理各种应用程序流程。我一直缺少的一件事是能够向事件stoprestart事件发送不同信号的能力。

例如,我们使用Unicorn运行我们的Web流程。Unicorn具有出色的信号处理API。当我想要正常地重新加载进程时,我向主pid发送USR2信号。为了正常关闭它们,我发送了QUIT命令。TERM(启动者的默认停止信号)构成立即关闭。

另一个示例是使用Resque。要正常关闭工作人员,我向其发送QUIT信号。TERM信号再次导致立即关闭,无论工人的孩子是否被分叉。

新贵支持自定义信号吗?我似乎在任何地方都找不到它,这让我担心我使用的是“错误的工作工具”。

Answers:


4

Ubuntu 10.04随附新贵版本0.6.6,该版本具有kill signalkill timeout参数,用于配置相关的信号和超时值。“重新加载”信号被硬编码为SIGHUP

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


很高兴知道,不确定为什么重载信号是硬编码的,但是我想我暂时将不得不使用它。
2012年

根据diclophis在下面的回答,现在可以通过来实现reload signal SIGUSR2,但是需要upstart v 1.10.0。
ghayes 2014年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.