Before do require 'background_process' command = 'conjur ui' ENV['DONT_OPEN_IN_BROWSER'] = 'true' @process = PTYBackgroundProcess.run command exit = false until exit do raw_line = @process.stdout.gets unless (match = /^If your browser did not opened the UI automatically, point it to (.*)$/.match(raw_line)).nil? @login_url = match[1] exit = true end end raise "Can't run #{command}" unless @process.running? @process_thread = Thread.new do # pass end end After do @process_thread.kill @process.kill('TERM') end