def execute(*command, label: nil)
      output, status = Open3.capture2(*command.flatten)
      
      log_debug caller[0]
      log_debug "CMD: #{command.join(' ')}"
      log_debug "OUT: #{output}"
      
      unless status.success?
        log_error output
        raise SubprocessError.new(label, command.join(' '), status)
      end
      
      output.chomp
    end
def execute(*command, label: nil)
      output, status = Open3.capture2(*command.flatten)
      
      log_debug caller[0]
      log_debug "CMD: #{command.join(' ')}"
      log_debug "OUT: #{output}"
      
      unless status.success?
        log_error output
        raise SubprocessError.new(label, command.join(' '), status)
      end
      
      output.chomp
    end
Synchronously execute a command as a subprocess and return the output.

 @param [Array<String>] command The command line
 @param [String] label A label for debug and logging purposes

 @return [String] The output of the command
 @raise [SubprocessError] if the subprocess returns status > 0