Tag: 终止

Ruby检查程序当前是否正在关闭

如何检查Ruby中的当前脚本是否正在关闭? 特别是,如果程序正在关闭,我想将@reconnect设置为false ,不再允许web-socket重新连接。 我尝试过Signal.trap(“TERM”) ,但它似乎不起作用。 @reconnect是WebsocketClient类中的一个实例变量,我无法在课外的脚本中直接更改它。 class WebsocketClient def ws_closed(event) $logger.warn “WS CLOSED” Signal.trap(“TERM”) { @stop = true @reconnect = false } unless $reauth if @stop EM.stop elsif @reconnect $logger.warn “Reconnecting…” EM.add_timer(@reconnect_after){ connect! } end end end end at_exit { $logger.fatal “Application terminated. Shutting down gracefully…” # … # Do some exit work… # … […]

ruby超时和系统命令

我有一个ruby超时,调用这样的系统(bash)命令.. Timeout::timeout(10) { `my_bash_command -c12 -o text.txt` } 但我认为即使ruby线程被中断,实际命令仍然在后台运行..这是正常的吗? 我怎么能杀了它?