使用Ruby Daemons gem检测停止

gre*_*egf 5 ruby daemon

我正在使用ruby 守护进程宝石.想知道如何为停止动作添加一些额外的步骤?希望我能检测到停止被调用,并添加一些额外的代码.谁知道我怎么能做到这一点?

Jam*_*ead 6

查看守护进程gem代码,看起来它没有明显的扩展点用于此目的.但是,我想知道(在守护进程中)你是否可以捕获守护进程在发生'停止'时发送的KILL/TERM信号......?

trap("TERM") do
  # execute your extra code here
end
Run Code Online (Sandbox Code Playgroud)

或者你可以安装一个at_exit钩子: -

at_exit do
  # execute your extra code here
end
Run Code Online (Sandbox Code Playgroud)